hyde-page-css 0.1.1 → 0.2.3

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: fa629bd81a50f9955ce793324c42e6ad67846a89a444558d67fc84ee164eb66b
4
- data.tar.gz: 64feceae84f97ed95ee633e9d12467ccc68a42c3d40c7fb09cfa067628f3d17d
3
+ metadata.gz: 51563246edbe4869d4b25ebe8f9b0776f0a284d7654aa08528e9303c7266ef7e
4
+ data.tar.gz: 22072719d33191180958636099f9b028c33d90d9620a8622868145f20189d4a7
5
5
  SHA512:
6
- metadata.gz: 357899d1a6b1d669ef5bf225f8fe720d7c08334c6246e0249f492f7b8e7876c3c24a4230d7855a342ae612d96d8877ee87b223c66a290225328a7943ed5907eb
7
- data.tar.gz: b50f37c675d762f4565c6e22e5395b769cdd09a030746f6aca5c904b0df6ecb635806e7afb150457ea3928e6aef23e1f6fd72e5e7201911a91b1a23fdeb8b722
6
+ metadata.gz: 8f55167a8b0a7d9f4c26c223f8346e286222811358aa648a89efc8cfdabfe06b1e1fa929a30e54b3919b7b721020e203ae6a3b972e47083d005ad87222f240a9
7
+ data.tar.gz: 865741a9b1e794f16014236e7a6bd086e54776752af4d43d0793e9f582373e76b1ec916dfe9603c76dade2baf49f3f0f393010847c908bc87855460ba1a12356
@@ -28,18 +28,19 @@ module Hyde
28
28
  "file_output_path" => 'assets/css',
29
29
  "css_minify" => true,
30
30
  "enable" => true,
31
- "keep_files" => true
31
+ "keep_files" => true,
32
+ "dev_mode" => false
32
33
  }
33
34
 
34
35
  def initialize(layout, info)
35
36
  @site = info[:registers][:site]
36
37
  @page = info[:registers][:page]
37
38
  @data = layout.data
38
- @config = @@config.merge(@site.config.dig('hyde_page_css'))
39
+ @config = @@config.merge(@site.config.dig('hyde_page_css') || {})
39
40
 
40
41
  @qualified_asset_path = File.join(*[@site.source, @config['asset_path']].compact)
41
42
 
42
- if config('keep_files') == true
43
+ if config('keep_files') == true && config('dev_mode') == false
43
44
  @site.config['keep_files'].push(config('file_output_path'))
44
45
  end
45
46
 
@@ -62,11 +63,10 @@ module Hyde
62
63
  break if !files&.length
63
64
 
64
65
  data = concatenate_files(files.compact)
65
-
66
+ data = minify(data)
66
67
  next if data == ""
67
68
 
68
- data = minify(data)
69
- file = generate_file(data)
69
+ file = generate_file(files, data)
70
70
  css_files << file.url
71
71
 
72
72
  # file already exists, so skip writing out the data to disk
@@ -115,15 +115,34 @@ module Hyde
115
115
  end
116
116
 
117
117
  def minify(data)
118
- return data if config('minify') == false
118
+ if config('dev_mode') == true
119
+ style = 'expanded'
120
+ elsif config('css_minify') == false
121
+ style = 'expanded'
122
+ else
123
+ style = 'compressed'
124
+ end
119
125
 
120
- converter_config = { 'sass' => { 'style' => 'compressed' } }
126
+ converter_config = { 'sass' => { 'style' => style } }
121
127
  Jekyll::Converters::Scss.new(converter_config).convert(data)
122
128
  end
123
129
 
124
- def generate_file(data)
125
- hashed_file_name = Digest::MD5.hexdigest(data) + '.css'
126
- Hyde::Page::GeneratedPageCssFile.new(@site, config('asset_path'), hashed_file_name)
130
+ def generate_file(files, data)
131
+ file_name = generate_file_name(files, data)
132
+
133
+ Hyde::Page::GeneratedPageCssFile.new(@site, config('asset_path'), file_name)
134
+ end
135
+
136
+ def generate_file_name(files, data, prefix: nil)
137
+ file_names = [prefix]
138
+
139
+ if config('dev_mode')
140
+ files.each { |file| file_names.push(file.gsub('.css', '')) }
141
+ end
142
+
143
+ file_names.push(Digest::MD5.hexdigest(data)[0,6])
144
+
145
+ file_names.compact.join('-') + '.css'
127
146
  end
128
147
  end
129
148
  end
data/lib/hyde_page_css.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Hyde
2
2
  module Page
3
3
  class Css
4
- VERSION = "0.1.1"
4
+ VERSION = "0.2.3"
5
5
  end
6
6
  end
7
7
  end
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.1.1
4
+ version: 0.2.3
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-10 00:00:00.000000000 Z
11
+ date: 2023-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll