jekyll-bookshop 2.0.0.pre.alpha.52 → 2.0.0.pre.alpha.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/jekyll-bookshop.rb +2 -0
- data/lib/jekyll-bookshop/site-data.rb +15 -0
- data/lib/jekyll-bookshop/tags/renderer-tag.rb +36 -0
- data/lib/jekyll-bookshop/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c587c6738b573c80e77d0176139bc538b05c6270bbdab066b71cfe01638959a
|
4
|
+
data.tar.gz: c74eeb46a2ee282246fb68ca732438b07c61b1b6a48d4f072cf865076afaec70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac0c4448f861a8bb26f98255b56563f6dc424da1f9e0e2e4ae474f2a2c8e97ac5a553e5a86bfce85899261e39a628394e490bb5b4da96e2de5bce8f5a9ea1577
|
7
|
+
data.tar.gz: cb144ced61fc5c3ff13a45497d6124d4ea4761a6228b14859852971d4f65ab6e0d35fbb7b98cd7f55e9f8a35ab669fc0d36028ea819315b7b08b5cf836d124f6
|
data/lib/jekyll-bookshop.rb
CHANGED
@@ -5,12 +5,14 @@ require "pathname"
|
|
5
5
|
require "dry/inflector"
|
6
6
|
|
7
7
|
require_relative "jekyll-bookshop/tags/bookshop-tag"
|
8
|
+
require_relative "jekyll-bookshop/tags/renderer-tag"
|
8
9
|
require_relative "jekyll-bookshop/tags/style-tag"
|
9
10
|
require_relative "jekyll-bookshop/init-styles"
|
10
11
|
require_relative "jekyll-bookshop/site-data"
|
11
12
|
|
12
13
|
Liquid::Template.register_tag("bookshop", JekyllBookshop::Tag)
|
13
14
|
Liquid::Template.register_tag("bookshop_scss", JekyllBookshop::StyleTag)
|
15
|
+
Liquid::Template.register_tag("bookshop_renderer", JekyllBookshop::RendererTag)
|
14
16
|
|
15
17
|
Jekyll::Hooks.register :site, :after_init do |site|
|
16
18
|
JekyllBookshop::Styles.open_bookshop(site)
|
@@ -20,6 +20,9 @@ module JekyllBookshop
|
|
20
20
|
end
|
21
21
|
|
22
22
|
@site.data["_bookshop_site_data"] = { "site" => payload_collections }
|
23
|
+
|
24
|
+
update_renderer_pages
|
25
|
+
|
23
26
|
Jekyll.logger.info "Bookshop:",
|
24
27
|
"Bookshop site data generated"
|
25
28
|
end
|
@@ -36,5 +39,17 @@ module JekyllBookshop
|
|
36
39
|
"excerpt" => document.data["excerpt"].output,
|
37
40
|
})
|
38
41
|
end
|
42
|
+
|
43
|
+
def self.update_renderer_pages
|
44
|
+
@site.pages.each do |page|
|
45
|
+
next unless @site.data["_bookshop_data_pages"]&.include?(page.url)
|
46
|
+
|
47
|
+
page.output = page.output.gsub(
|
48
|
+
%r!bookshop_renderer_site_data = null!,
|
49
|
+
"bookshop_renderer_site_data = #{@site.data["_bookshop_site_data"].to_json}"
|
50
|
+
)
|
51
|
+
end
|
52
|
+
@site.data["_bookshop_data_pages"] = nil
|
53
|
+
end
|
39
54
|
end
|
40
55
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module JekyllBookshop
|
4
|
+
class RendererTag < Liquid::Tag
|
5
|
+
def initialize(tag_name, markup, tokens)
|
6
|
+
super
|
7
|
+
# check if markup contains a number
|
8
|
+
if %r!\d+!.match?(markup)
|
9
|
+
@port = markup.gsub(%r![^\d]!, "").to_i
|
10
|
+
else
|
11
|
+
Jekyll.logger.warning "Bookshop:",
|
12
|
+
"bookshop_renderer tag malformed.
|
13
|
+
Use {% bookshop_renderer :6061 %}
|
14
|
+
with the port @bookshop/renderer is running on."
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def render(context)
|
19
|
+
return unless @port
|
20
|
+
return if Jekyll.env == "production"
|
21
|
+
|
22
|
+
site = context.registers[:site]
|
23
|
+
page = context.registers[:page]
|
24
|
+
|
25
|
+
site.data["_bookshop_data_pages"] ||= []
|
26
|
+
unless site.data["_bookshop_data_pages"].include?(page["url"])
|
27
|
+
site.data["_bookshop_data_pages"].push(page["url"])
|
28
|
+
end
|
29
|
+
|
30
|
+
"<div data-bookshop-renderer></div>
|
31
|
+
<script>window.bookshop_renderer_site_data = null;</script>
|
32
|
+
<script src=\"http://localhost:#{@port}/bookshop.js\"></script>
|
33
|
+
<link href=\"http://localhost:#{@port}/renderer.css\" rel=\"stylesheet\">"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-bookshop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.pre.alpha.
|
4
|
+
version: 2.0.0.pre.alpha.53
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- CloudCannon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-07-
|
11
|
+
date: 2021-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -89,6 +89,7 @@ files:
|
|
89
89
|
- lib/jekyll-bookshop/init-styles.rb
|
90
90
|
- lib/jekyll-bookshop/site-data.rb
|
91
91
|
- lib/jekyll-bookshop/tags/bookshop-tag.rb
|
92
|
+
- lib/jekyll-bookshop/tags/renderer-tag.rb
|
92
93
|
- lib/jekyll-bookshop/tags/style-tag.rb
|
93
94
|
- lib/jekyll-bookshop/version.rb
|
94
95
|
homepage: https://github.com/cloudcannon/bookshop
|