hyde-page-css 0.2.3 → 0.3.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: 51563246edbe4869d4b25ebe8f9b0776f0a284d7654aa08528e9303c7266ef7e
4
- data.tar.gz: 22072719d33191180958636099f9b028c33d90d9620a8622868145f20189d4a7
3
+ metadata.gz: 47a306a1505adce319c2e7e2c872029f0ae792feab9d164163a74b5933166267
4
+ data.tar.gz: 84b56ab510348dd9b2c0401e9cb3f0d6c332cec97f5d4ca5aa78222412b7c5f2
5
5
  SHA512:
6
- metadata.gz: 8f55167a8b0a7d9f4c26c223f8346e286222811358aa648a89efc8cfdabfe06b1e1fa929a30e54b3919b7b721020e203ae6a3b972e47083d005ad87222f240a9
7
- data.tar.gz: 865741a9b1e794f16014236e7a6bd086e54776752af4d43d0793e9f582373e76b1ec916dfe9603c76dade2baf49f3f0f393010847c908bc87855460ba1a12356
6
+ metadata.gz: 4c3da3407955bd07c45d39f2e1b0c033a2e25b6812d4e7f95ae590e45cb4baeb7d5447720355b1cc230ed078542b3990e4a5dbe45f2ff5af1afe564543e5b812
7
+ data.tar.gz: 80ceca52abdde3699e55e025cdc39350ed0f7ce84aa96417614ac512b659857709ddf5f315b5f0d429712425250175646b47af851fa70cd0871811b4e61d0e06
@@ -1,31 +1,12 @@
1
1
  require 'jekyll'
2
- require_relative 'generated_page_css_file.rb'
3
-
4
- module Jekyll
5
- class Renderer
6
- def render_layout(output, layout, info)
7
- Hyde::Page::Css.new(layout, info).generate
8
-
9
- # TODO Would be nice to call super here instead of cloned logic from Jekyll internals
10
- payload["content"] = output
11
- payload["layout"] = Utils.deep_merge_hashes(layout.data, payload["layout"] || {})
12
-
13
- render_liquid(
14
- layout.content,
15
- payload,
16
- info,
17
- layout.path
18
- )
19
- end
20
- end
21
- end
2
+ require_relative "generated_page_css_file"
22
3
 
23
4
  module Hyde
24
5
  module Page
25
6
  class Css
26
7
  @@config = {
27
- "asset_path" => 'assets/css',
28
- "file_output_path" => 'assets/css',
8
+ "asset_path" => "assets/css",
9
+ "file_output_path" => "assets/css",
29
10
  "css_minify" => true,
30
11
  "enable" => true,
31
12
  "keep_files" => true,
@@ -36,24 +17,24 @@ module Hyde
36
17
  @site = info[:registers][:site]
37
18
  @page = info[:registers][:page]
38
19
  @data = layout.data
39
- @config = @@config.merge(@site.config.dig('hyde_page_css') || {})
20
+ @config = @@config.merge(@site.config.dig("hyde_page_css") || {})
40
21
 
41
- @qualified_asset_path = File.join(*[@site.source, @config['asset_path']].compact)
22
+ @qualified_asset_path = File.join(*[@site.source, @config["asset_path"]].compact)
42
23
 
43
- if config('keep_files') == true && config('dev_mode') == false
44
- @site.config['keep_files'].push(config('file_output_path'))
24
+ if config("keep_files") == true && config("dev_mode") == false
25
+ @site.config["keep_files"].push(config("file_output_path"))
45
26
  end
46
27
 
47
- if @page["css"].nil?
48
- @page["css"] = []
28
+ @page["css"] = if @page["css"].nil?
29
+ []
49
30
  else
50
- @page["css"] = [@page["css"]]
31
+ [@page["css"]]
51
32
  end
52
33
  end
53
34
 
54
35
  def generate
55
- return unless config('enable') == true
56
- @page["css"].unshift(@data['css'])
36
+ return unless config("enable") == true
37
+ @page["css"].unshift(@data["css"])
57
38
 
58
39
  file_groups = flatten_group(@page["css"])
59
40
 
@@ -80,13 +61,13 @@ module Hyde
80
61
  end
81
62
 
82
63
  # the recursive nature of this will sometimes have duplicate css files
83
- @page['css_files'] = css_files.uniq
64
+ @page["css_files"] = css_files.uniq
84
65
  end
85
66
 
86
- private
67
+ private
87
68
 
88
- def config(*keys)
89
- @config.dig(*keys)
69
+ def config(*)
70
+ @config.dig(*)
90
71
  end
91
72
 
92
73
  def flatten_group(arr, acc = [])
@@ -96,18 +77,18 @@ module Hyde
96
77
  acc += flatten_group(arr.last)
97
78
  end
98
79
 
99
- def concatenate_files(files, data = '')
80
+ def concatenate_files(files, data = "")
100
81
  for file in files do
101
82
  # tmp page required to handle anything with frontmatter/yaml header
102
- tmp_page = Jekyll::PageWithoutAFile.new(@site, nil, config('asset_path'), file)
83
+ tmp_page = Jekyll::PageWithoutAFile.new(@site, nil, config("asset_path"), file)
103
84
  path = File.join([@qualified_asset_path, file])
104
85
 
105
86
  begin
106
87
  file_contents = File.read(path)
107
88
  tmp_page.content = file_contents
108
- data << Jekyll::Renderer.new(@site, tmp_page).run()
89
+ data << Jekyll::Renderer.new(@site, tmp_page).run
109
90
  rescue
110
- Jekyll.logger.warn('Page CSS Warning:', "Unable to find #{path}")
91
+ Jekyll.logger.warn("Page CSS Warning:", "Unable to find #{path}")
111
92
  end
112
93
  end
113
94
 
@@ -115,34 +96,34 @@ module Hyde
115
96
  end
116
97
 
117
98
  def minify(data)
118
- if config('dev_mode') == true
119
- style = 'expanded'
120
- elsif config('css_minify') == false
121
- style = 'expanded'
99
+ style = if config("dev_mode") == true
100
+ "expanded"
101
+ elsif config("css_minify") == false
102
+ "expanded"
122
103
  else
123
- style = 'compressed'
104
+ "compressed"
124
105
  end
125
106
 
126
- converter_config = { 'sass' => { 'style' => style } }
107
+ converter_config = {"sass" => {"style" => style}}
127
108
  Jekyll::Converters::Scss.new(converter_config).convert(data)
128
109
  end
129
110
 
130
111
  def generate_file(files, data)
131
112
  file_name = generate_file_name(files, data)
132
113
 
133
- Hyde::Page::GeneratedPageCssFile.new(@site, config('asset_path'), file_name)
114
+ Hyde::Page::GeneratedPageCssFile.new(@site, config("asset_path"), file_name)
134
115
  end
135
116
 
136
117
  def generate_file_name(files, data, prefix: nil)
137
118
  file_names = [prefix]
138
119
 
139
- if config('dev_mode')
140
- files.each { |file| file_names.push(file.gsub('.css', '')) }
120
+ if config("dev_mode")
121
+ files.each { |file| file_names.push(file.gsub(".css", "")) }
141
122
  end
142
123
 
143
- file_names.push(Digest::MD5.hexdigest(data)[0,6])
124
+ file_names.push(Digest::MD5.hexdigest(data)[0, 6])
144
125
 
145
- file_names.compact.join('-') + '.css'
126
+ file_names.compact.join("-") + ".css"
146
127
  end
147
128
  end
148
129
  end
@@ -9,12 +9,12 @@ module Hyde
9
9
 
10
10
  def initialize(site, dir, name)
11
11
  @site = site
12
- @dir = dir
12
+ @dir = dir
13
13
  @name = name
14
14
  @relative_path = File.join(*[@dir, @name].compact)
15
15
  @extname = File.extname(@name)
16
16
  @type = @collection&.label&.to_sym
17
- @generator = 'hyde_page_css'
17
+ @generator = "hyde-page-css"
18
18
  end
19
19
 
20
20
  def write(dest)
@@ -24,7 +24,7 @@ module Hyde
24
24
  FileUtils.mkdir_p(File.dirname(dest_path))
25
25
  FileUtils.rm(dest_path) if File.exist?(dest_path)
26
26
 
27
- File.open(dest_path, 'w') do |output_file|
27
+ File.open(dest_path, "w") do |output_file|
28
28
  output_file << file_contents
29
29
  end
30
30
 
@@ -0,0 +1,18 @@
1
+ module Jekyll
2
+ class Renderer
3
+ def render_layout(output, layout, info)
4
+ Hyde::Page::Css.new(layout, info).generate
5
+
6
+ # TODO Would be nice to call super here instead of cloned logic from Jekyll internals
7
+ payload["content"] = output
8
+ payload["layout"] = Utils.deep_merge_hashes(layout.data, payload["layout"] || {})
9
+
10
+ render_liquid(
11
+ layout.content,
12
+ payload,
13
+ info,
14
+ layout.path
15
+ )
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ module Hyde
2
+ module Page
3
+ class Css
4
+ VERSION = "0.3.0"
5
+ end
6
+ end
7
+ end
8
+
9
+ require_relative "hyde/renderer.rb"
10
+ require_relative "hyde/page/css.rb"
11
+ require_relative "hyde/page/generated_page_css_file.rb"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyde-page-css
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregory Daynes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-17 00:00:00.000000000 Z
11
+ date: 2023-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -37,9 +37,10 @@ executables: []
37
37
  extensions: []
38
38
  extra_rdoc_files: []
39
39
  files:
40
- - lib/hyde_page_css.rb
41
- - lib/hyde_page_css/generated_page_css_file.rb
42
- - lib/hyde_page_css/hyde_page_css.rb
40
+ - lib/hyde-page-css.rb
41
+ - lib/hyde/page/css.rb
42
+ - lib/hyde/page/generated_page_css_file.rb
43
+ - lib/hyde/renderer.rb
43
44
  homepage: https://github.com/gregdaynes/hyde-page-css
44
45
  licenses:
45
46
  - MIT
@@ -59,7 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
59
60
  - !ruby/object:Gem::Version
60
61
  version: '0'
61
62
  requirements: []
62
- rubygems_version: 3.4.22
63
+ rubygems_version: 3.4.10
63
64
  signing_key:
64
65
  specification_version: 4
65
66
  summary: Plugin for jekyll to enable per page css files
data/lib/hyde_page_css.rb DELETED
@@ -1,10 +0,0 @@
1
- module Hyde
2
- module Page
3
- class Css
4
- VERSION = "0.2.3"
5
- end
6
- end
7
- end
8
-
9
- require_relative './hyde_page_css/hyde_page_css.rb'
10
-