hyde-page-css 0.5.1 → 0.7.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 +4 -4
- data/lib/hyde-page-css.rb +31 -21
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 470018e2aede9ba46a35ad49efd9b9dbeff4c280d74efc0f6e971706ed035a8f
|
4
|
+
data.tar.gz: e1349c35ab84347d34baa52b4d67609d1beff5dc6b6d6677a506be32b0bb9448
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9969c00d880d243958253f7725737c5013bd4010147194808fa52d2c3e1b18cf7557a8055af01907f98b12fd50f52478095a21a91da61d2f6d7687b4886549e
|
7
|
+
data.tar.gz: 83e8c2c2437f607c468b03204edc2de65e4159fef23472d6f2b2ef91a70a1de1481687ee1fb55aa8a451e9d04c94b3d457b7945232d57f90a3011d14a4a76b7d
|
data/lib/hyde-page-css.rb
CHANGED
@@ -12,7 +12,7 @@ end
|
|
12
12
|
module Hyde
|
13
13
|
module Page
|
14
14
|
class Css
|
15
|
-
VERSION = "0.
|
15
|
+
VERSION = "0.7.0"
|
16
16
|
end
|
17
17
|
|
18
18
|
class GeneratedCssFile < Jekyll::StaticFile
|
@@ -31,7 +31,6 @@ module Hyde
|
|
31
31
|
|
32
32
|
def write(dest)
|
33
33
|
dest_path = destination(dest)
|
34
|
-
return false if File.exist?(dest_path)
|
35
34
|
|
36
35
|
FileUtils.mkdir_p(File.dirname(dest_path))
|
37
36
|
FileUtils.rm(dest_path) if File.exist?(dest_path)
|
@@ -51,20 +50,25 @@ module Hyde
|
|
51
50
|
"minify" => true,
|
52
51
|
"enable" => true,
|
53
52
|
"keep_files" => true,
|
54
|
-
"
|
53
|
+
"livereload" => false,
|
54
|
+
"automatic_inline_threshold" => 4096
|
55
55
|
}
|
56
56
|
|
57
57
|
def initialize(page)
|
58
58
|
@page = page
|
59
59
|
@site = page.site
|
60
60
|
@config = fetch_config
|
61
|
-
@site.data["
|
61
|
+
@site.data["_hyde_pages_css_cache"] ||= Jekyll::Cache.new("hyde_pages_css")
|
62
62
|
|
63
|
-
if keep_files?
|
63
|
+
if keep_files?
|
64
64
|
@site.config.fetch("keep_files").push(destination)
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
|
+
def cache
|
69
|
+
@site.data["_hyde_pages_css_cache"]
|
70
|
+
end
|
71
|
+
|
68
72
|
def run
|
69
73
|
css = fetch_css(@page)
|
70
74
|
layout = fetch_layout(fetch_layout_name(@page))
|
@@ -76,9 +80,8 @@ module Hyde
|
|
76
80
|
next if group.empty?
|
77
81
|
|
78
82
|
lookup_name = names_to_key(group)
|
79
|
-
cache_entry = @site.data["_hyde_pages_cache"].fetch(lookup_name, nil)
|
80
83
|
|
81
|
-
|
84
|
+
cache_entry = cache.getset(lookup_name) do
|
82
85
|
data = concatenate_files(group)
|
83
86
|
break if data == ""
|
84
87
|
|
@@ -95,12 +98,10 @@ module Hyde
|
|
95
98
|
@site.static_files << generated_file
|
96
99
|
end
|
97
100
|
|
98
|
-
|
99
|
-
cache_entry = {
|
101
|
+
{
|
100
102
|
url: generated_file.url,
|
101
103
|
data: data
|
102
104
|
}
|
103
|
-
@site.data["_hyde_pages_cache"][lookup_name] = cache_entry
|
104
105
|
end
|
105
106
|
|
106
107
|
# assign to page.data.css_files for liquid output
|
@@ -117,6 +118,17 @@ module Hyde
|
|
117
118
|
def add_to_urls(url, data)
|
118
119
|
@page.data["css_files"] ||= []
|
119
120
|
@page.data["css_files"].push({ "path" => url, "content" => data })
|
121
|
+
|
122
|
+
if (livereload?)
|
123
|
+
@page.data["automatic_styles"] ||= []
|
124
|
+
@page.data["automatic_styles"].push("<link rel=\"stylesheet\" href=\"/#{url}\">")
|
125
|
+
elsif data.size > @config.fetch("automatic_inline_threshold")
|
126
|
+
@page.data["automatic_styles"] ||= []
|
127
|
+
@page.data["automatic_styles"].push("<link rel=\"stylesheet\" href=\"/#{url}\">")
|
128
|
+
else
|
129
|
+
@page.data["automatic_styles"] ||= []
|
130
|
+
@page.data["automatic_styles"].push("<style>#{data}</style>")
|
131
|
+
end
|
120
132
|
end
|
121
133
|
|
122
134
|
def fetch_config
|
@@ -127,8 +139,8 @@ module Hyde
|
|
127
139
|
@config.fetch("keep_files") == true
|
128
140
|
end
|
129
141
|
|
130
|
-
def
|
131
|
-
@config.fetch("
|
142
|
+
def livereload?
|
143
|
+
@config.fetch("livereload") == true
|
132
144
|
end
|
133
145
|
|
134
146
|
def minify?
|
@@ -189,12 +201,10 @@ module Hyde
|
|
189
201
|
end
|
190
202
|
|
191
203
|
def style
|
192
|
-
if
|
193
|
-
"expanded"
|
194
|
-
elsif !minify?
|
195
|
-
"expanded"
|
196
|
-
else
|
204
|
+
if minify?
|
197
205
|
"compressed"
|
206
|
+
else
|
207
|
+
"expanded"
|
198
208
|
end
|
199
209
|
end
|
200
210
|
|
@@ -213,11 +223,11 @@ module Hyde
|
|
213
223
|
def generate_file_name(files, data, prefix: nil)
|
214
224
|
file_names = [prefix]
|
215
225
|
|
216
|
-
|
217
|
-
files.each { |file| file_names.push(file.gsub(".css", "")) }
|
218
|
-
end
|
226
|
+
files.each { |file| file_names.push(file.gsub(".css", "")) }
|
219
227
|
|
220
|
-
|
228
|
+
unless livereload?
|
229
|
+
file_names.push(Digest::MD5.hexdigest(data)[0, 6])
|
230
|
+
end
|
221
231
|
|
222
232
|
file_names.compact.join("-") + ".css"
|
223
233
|
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.
|
4
|
+
version: 0.7.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: 2024-10-
|
11
|
+
date: 2024-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|