jekyll-bookshop 1.7.1 → 2.0.0.pre.alpha.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 06aef8587a63ae477f2cbdca62841ca136714f1208336fc0d3b4f201eee52053
4
- data.tar.gz: ede4a69fe2b96f8a5417490556dc95c9880251809abe5bb81c68adfb750d2363
3
+ metadata.gz: 5dcfebd607dda67280a95931eadee542b2a0018df3f5562b3439ec3f3ab2c4c4
4
+ data.tar.gz: 3614e23aa9fdf1d9fa31157e0612157f55d30c716ed46b1c40fbe001f7c521fa
5
5
  SHA512:
6
- metadata.gz: 338ba1b82ae814a268fb7e8cb437a2df507debfa479b2efb8ae1a76e013ca5cba035c53c9246b84505f4b534cd7b7e35e10c71e478a0757310dc848b3e6a232f
7
- data.tar.gz: 0c2b53f7d5e2127531926da39bf611f74b6a5004ee2b8200466c2f16407a191762172b2d5e880d235b96dee784b791bba18a03cf3b658c7d320e5bfa4a5696b1
6
+ metadata.gz: 2b7b413b32a1f126733a8f37a0860e4321b5933fb8844775aad40e7d840fbf8f2c4a85cb06169e972ae95c5e9ca039c6549587ac5c29f703bed7add368550752
7
+ data.tar.gz: '01970a6a13c8571afeec9a9075250a5fed66eaee7229226ef56431cddaad0d50b1953ec0e6a7683cdfb05d66d84bdd99276e6bc8b22fdd95daa4a05c2ec652c8'
@@ -6,10 +6,10 @@ module JekyllBookshop
6
6
 
7
7
  # Look for includes in the built bookshop directory
8
8
  def tag_includes_dirs(context)
9
- Array([
10
- Pathname.new(context['site']['bookshop_theme_path'] + '/components').cleanpath.to_s,
11
- Pathname.new(context['site']['bookshop_site_path'] + '/components').cleanpath.to_s
12
- ]).freeze
9
+ bookshop_locations = context['site']['bookshop_locations']&.collect do |location|
10
+ Pathname.new(location + "/components").cleanpath.to_s
11
+ end
12
+ bookshop_locations.freeze
13
13
  end
14
14
 
15
15
  # Support the bind syntax, spreading an object into params
@@ -58,19 +58,47 @@ module JekyllBookshop
58
58
  end
59
59
  end
60
60
 
61
+ class StyleTag < Liquid::Tag
62
+ def render(context)
63
+ site = context.registers[:site]
64
+
65
+ bookshop_scss_files = []
66
+ site.config['bookshop_locations']&.each do |location|
67
+ components_loc = Pathname.new(location + "/").cleanpath.to_s
68
+ scss_files = Dir.glob(components_loc + "/**/*.scss")&.collect do |scss_file|
69
+ scss_file.sub!(components_loc+"/", '').sub!(".scss", '')
70
+ end
71
+ bookshop_scss_files.push(*scss_files)
72
+ end
73
+
74
+ bookshop_scss_files = bookshop_scss_files&.collect do |file|
75
+ "@import '#{file}';"
76
+ end
77
+
78
+ output_css = if Jekyll.env == "production"
79
+ bookshop_scss_files.join("")
80
+ else
81
+ "html:not([data-bookshop-hmr]) {#{bookshop_scss_files.join("")}}"
82
+ end
83
+
84
+ output_css
85
+ end
86
+ end
87
+
61
88
  class Styles
62
89
 
63
90
  # Add the paths to find bookshop's styles
64
91
  def self.open_bookshop(site)
65
- bookshop_theme_path = (site.theme ? site.theme.root : site.source) + '/_bookshop'
66
- bookshop_site_path = site.source + '/_bookshop'
67
- site.config['bookshop_theme_path'] = Pathname.new(bookshop_theme_path).cleanpath.to_s
68
- site.config['bookshop_site_path'] = Pathname.new(bookshop_site_path).cleanpath.to_s
92
+ bookshop_locations = site.config['bookshop_locations']&.collect do |location|
93
+ Pathname.new(location + "/").cleanpath.to_s
94
+ end
95
+
96
+ site.config['watch_dirs'] ||= [] # Paired with CloudCannon/jekyll-watch
97
+ site.config['watch_dirs'].push(*bookshop_locations);
69
98
 
70
99
  site.config['sass'] ||= {}
71
100
  site.config['sass']['load_paths'] ||= []
72
- site.config['sass']['load_paths'].push(Pathname.new(bookshop_theme_path + '/sass').cleanpath.to_s)
73
- site.config['sass']['load_paths'].push(Pathname.new(bookshop_site_path + '/sass').cleanpath.to_s)
101
+ site.config['sass']['load_paths'].push(*bookshop_locations)
74
102
  end
75
103
  end
76
104
 
@@ -96,7 +124,8 @@ module JekyllBookshop
96
124
  end
97
125
  end
98
126
 
99
- Liquid::Template.register_tag("component", JekyllBookshop::Tag)
127
+ Liquid::Template.register_tag("bookshop", JekyllBookshop::Tag)
128
+ Liquid::Template.register_tag("bookshop_scss", JekyllBookshop::StyleTag)
100
129
 
101
130
  Liquid::Template.register_filter(JekyllBookshop::Filters)
102
131
 
@@ -1,3 +1,3 @@
1
1
  module JekyllBookshop
2
- VERSION = "1.7.1"
2
+ VERSION = "2.0.0-alpha.0"
3
3
  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: 1.7.1
4
+ version: 2.0.0.pre.alpha.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liam Bigelow
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-17 00:00:00.000000000 Z
11
+ date: 2021-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -54,9 +54,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
54
54
  version: '0'
55
55
  required_rubygems_version: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - ">="
57
+ - - ">"
58
58
  - !ruby/object:Gem::Version
59
- version: '0'
59
+ version: 1.3.1
60
60
  requirements: []
61
61
  rubygems_version: 3.0.3
62
62
  signing_key: