jekyll-assets 2.4.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +21 -17
  3. data/LICENSE +1 -1
  4. data/README.md +365 -297
  5. data/Rakefile +13 -2
  6. data/lib/jekyll/assets.rb +15 -11
  7. data/lib/jekyll/assets/config.rb +91 -55
  8. data/lib/jekyll/assets/context.rb +32 -0
  9. data/lib/jekyll/assets/default.rb +98 -0
  10. data/lib/jekyll/assets/drop.rb +62 -0
  11. data/lib/jekyll/assets/env.rb +135 -278
  12. data/lib/jekyll/assets/extensible.rb +86 -0
  13. data/lib/jekyll/assets/filters.rb +22 -0
  14. data/lib/jekyll/assets/hook.rb +115 -48
  15. data/lib/jekyll/assets/html.rb +88 -0
  16. data/lib/jekyll/assets/logger.rb +17 -59
  17. data/lib/jekyll/assets/manifest.rb +15 -126
  18. data/lib/jekyll/assets/map.rb +57 -0
  19. data/lib/jekyll/assets/map/css.rb +43 -0
  20. data/lib/jekyll/assets/map/javascript.rb +43 -0
  21. data/lib/jekyll/assets/map/writer.rb +192 -0
  22. data/lib/jekyll/assets/patches/cached_env.rb +79 -0
  23. data/lib/jekyll/assets/patches/functions.rb +31 -0
  24. data/lib/jekyll/assets/patches/obsolete_files.rb +42 -0
  25. data/lib/jekyll/assets/patches/sprockets.rb +9 -0
  26. data/lib/jekyll/assets/patches/sprockets_data_uri.rb +12 -0
  27. data/lib/jekyll/assets/plugins.rb +9 -0
  28. data/lib/jekyll/assets/plugins/bootstrap.rb +5 -0
  29. data/lib/jekyll/assets/plugins/font-awesome.rb +8 -0
  30. data/lib/jekyll/assets/plugins/frontmatter.rb +28 -0
  31. data/lib/jekyll/assets/plugins/html/audio.rb +32 -0
  32. data/lib/jekyll/assets/plugins/html/css.rb +24 -0
  33. data/lib/jekyll/assets/plugins/html/defaults/audio.rb +69 -0
  34. data/lib/jekyll/assets/plugins/html/defaults/css.rb +48 -0
  35. data/lib/jekyll/assets/plugins/html/defaults/img.rb +54 -0
  36. data/lib/jekyll/assets/plugins/html/defaults/js.rb +48 -0
  37. data/lib/jekyll/assets/plugins/html/defaults/vid.rb +63 -0
  38. data/lib/jekyll/assets/plugins/html/img.rb +76 -0
  39. data/lib/jekyll/assets/plugins/html/js.rb +30 -0
  40. data/lib/jekyll/assets/plugins/html/pic.rb +125 -0
  41. data/lib/jekyll/assets/plugins/html/svg.rb +37 -0
  42. data/lib/jekyll/assets/plugins/html/vid.rb +26 -0
  43. data/lib/jekyll/assets/plugins/liquid.rb +57 -0
  44. data/lib/jekyll/assets/plugins/magick.rb +7 -0
  45. data/lib/jekyll/assets/plugins/optim.rb +7 -0
  46. data/lib/jekyll/assets/plugins/prefixer.rb +28 -0
  47. data/lib/jekyll/assets/plugins/proxy/magick.rb +131 -0
  48. data/lib/jekyll/assets/plugins/proxy/optim.rb +64 -0
  49. data/lib/jekyll/assets/plugins/searcher.rb +72 -0
  50. data/lib/jekyll/assets/proxy.rb +109 -0
  51. data/lib/jekyll/assets/tag.rb +176 -0
  52. data/lib/jekyll/assets/url.rb +23 -0
  53. data/lib/jekyll/assets/utils.rb +348 -0
  54. data/lib/jekyll/assets/version.rb +2 -2
  55. data/lib/jekyll/assets/writer.rb +36 -0
  56. metadata +102 -81
  57. data/lib/jekyll-assets.rb +0 -7
  58. data/lib/jekyll/assets/addons/autoprefixer.rb +0 -11
  59. data/lib/jekyll/assets/addons/bootstrap.rb +0 -9
  60. data/lib/jekyll/assets/addons/fontawesome.rb +0 -9
  61. data/lib/jekyll/assets/addons/javascript.rb +0 -11
  62. data/lib/jekyll/assets/cached.rb +0 -30
  63. data/lib/jekyll/assets/helpers.rb +0 -74
  64. data/lib/jekyll/assets/hooks/cache.rb +0 -21
  65. data/lib/jekyll/assets/hooks/compression.rb +0 -25
  66. data/lib/jekyll/assets/hooks/config.rb +0 -12
  67. data/lib/jekyll/assets/hooks/erb.rb +0 -15
  68. data/lib/jekyll/assets/hooks/jekyll/drops.rb +0 -9
  69. data/lib/jekyll/assets/hooks/jekyll/setup.rb +0 -11
  70. data/lib/jekyll/assets/hooks/jekyll/write.rb +0 -11
  71. data/lib/jekyll/assets/hooks/logger.rb +0 -11
  72. data/lib/jekyll/assets/hooks/sources.rb +0 -13
  73. data/lib/jekyll/assets/hooks/sprockets.rb +0 -9
  74. data/lib/jekyll/assets/hooks/version.rb +0 -11
  75. data/lib/jekyll/assets/liquid/context.rb +0 -19
  76. data/lib/jekyll/assets/liquid/drop.rb +0 -81
  77. data/lib/jekyll/assets/liquid/filters.rb +0 -49
  78. data/lib/jekyll/assets/liquid/tag.rb +0 -244
  79. data/lib/jekyll/assets/liquid/tag/defaults.rb +0 -27
  80. data/lib/jekyll/assets/liquid/tag/defaults/image.rb +0 -81
  81. data/lib/jekyll/assets/liquid/tag/defaults/sha.rb +0 -58
  82. data/lib/jekyll/assets/liquid/tag/parser.rb +0 -202
  83. data/lib/jekyll/assets/liquid/tag/proxied_asset.rb +0 -166
  84. data/lib/jekyll/assets/liquid/tag/proxies.rb +0 -130
  85. data/lib/jekyll/assets/patches/jekyll/cleaner.rb +0 -15
  86. data/lib/jekyll/assets/patches/jekyll/site.rb +0 -5
  87. data/lib/jekyll/assets/patches/kernel.rb +0 -29
  88. data/lib/jekyll/assets/patches/sprockets/asset.rb +0 -28
  89. data/lib/jekyll/assets/processors/less.rb +0 -70
  90. data/lib/jekyll/assets/processors/liquid.rb +0 -46
  91. data/lib/jekyll/assets/proxies/image_optim.rb +0 -80
  92. data/lib/jekyll/assets/proxies/magick.rb +0 -194
@@ -0,0 +1,23 @@
1
+ # Frozen-string-literal: true
2
+ # Copyright: 2012 - 2017 - MIT License
3
+ # Encoding: utf-8
4
+
5
+ module Jekyll
6
+ module Assets
7
+ # --
8
+ # Inherits from and overrides some of Sprockets asset,
9
+ # this way we can have some external assets that do not
10
+ # break the way we work or the way Sprockets works.
11
+ # --
12
+ class Url < Sprockets::Asset
13
+ alias hexdigest id
14
+ alias digest_path filename
15
+ alias url filename
16
+ alias digest id
17
+
18
+ def integrity
19
+ nil
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,348 @@
1
+ # Frozen-string-literal: true
2
+ # Copyright: 2012 - 2017 - MIT License
3
+ # Encoding: utf-8
4
+
5
+ module Jekyll
6
+ module Assets
7
+ module Utils
8
+ def raw_precompiles
9
+ asset_config[:raw_precompile].each_with_object([]) do |v, a|
10
+ if v.is_a?(Hash)
11
+ dst, src = in_dest_dir.join(v[:dst]).tap(&:mkdir_p), v[:src]
12
+ glob_paths(src).each do |sv|
13
+ a << {
14
+ src: sv,
15
+ full_dst: dst.join(sv.basename),
16
+ dst: dst,
17
+ }
18
+ end
19
+ else
20
+ src = glob_paths(v).first
21
+
22
+ next unless src
23
+ dst = in_dest_dir(strip_paths(src))
24
+ dst.parent.mkdir_p
25
+
26
+ a << {
27
+ src: src,
28
+ full_dst: dst,
29
+ dst: dst,
30
+ }
31
+ end
32
+ end
33
+ end
34
+
35
+ # --
36
+ def find_assets_by_glob(glob)
37
+ glob_paths(glob).map do |v|
38
+ find_asset!(v.to_s)
39
+ end
40
+ end
41
+
42
+ # --
43
+ def glob_paths(glob)
44
+ out = []
45
+
46
+ paths.each do |sv|
47
+ sv = Pathutil.new(sv)
48
+
49
+ if sv.directory?
50
+ out.concat(sv.glob(glob).to_a)
51
+ end
52
+ end
53
+
54
+ out
55
+ end
56
+
57
+ # --
58
+ def url_asset(url, type:)
59
+ name = File.basename(url)
60
+ old_ = Env.old_sprockets?
61
+
62
+ Url.new(*[old_ ? self : nil, {
63
+ name: name,
64
+ filename: url,
65
+ content_type: type,
66
+ load_path: File.dirname(url),
67
+ id: Digest::SHA256.hexdigest(url),
68
+ logical_path: name,
69
+ metadata: {},
70
+ source: "",
71
+ uri: url,
72
+ }].compact)
73
+ end
74
+
75
+ # --
76
+ # @param [String] url
77
+ # @return [Sprockets::Asset]
78
+ # Wraps around an external url and so it can be wrapped into
79
+ # the rest of Jekyll-Assets with little trouble.
80
+ # --
81
+ def external_asset(url, args:)
82
+ if args[:asset]&.key?(:type)
83
+ url_asset(url, {
84
+ type: args[:asset][:type],
85
+ })
86
+
87
+ else
88
+ _, type = Sprockets.match_path_extname(url, Sprockets.mime_exts)
89
+ logger.debug "no type for #{url}, assuming image/*" unless type
90
+ url_asset(url, {
91
+ type: type || "image/jpeg",
92
+ })
93
+ end
94
+ end
95
+
96
+ # --
97
+ # @param [String,Sprockets::Asset] url
98
+ # Tells you if a url... or asset is external.
99
+ # @return [nil,true,false]
100
+ # --
101
+ def external?(args)
102
+ return true if args.is_a?(Url)
103
+ return false if args.is_a?(Sprockets::Asset)
104
+ return args =~ %r!^(https?:)?//! if args.is_a?(String)
105
+ return args[:external] if args.key?(:external)
106
+ args[:argv1] !~ %r!^(?\!(https?:)?//)!
107
+ end
108
+
109
+ # --
110
+ # @param [String,Hash<>,Array<>] obj the liquid to parse.
111
+ # Parses the Liquid that's being passed, with Jekyll's context.
112
+ # rubocop:disable Lint/LiteralAsCondition
113
+ # @return [String]
114
+ # --
115
+ def parse_liquid(obj, ctx:)
116
+ case true
117
+ when obj.is_a?(Hash) || obj.is_a?(Liquid::Tag::Parser)
118
+ obj.each_key.with_object(obj) do |k, o|
119
+ if o[k].is_a?(String)
120
+ then o[k] = parse_liquid(o[k], {
121
+ ctx: ctx,
122
+ })
123
+ end
124
+ end
125
+ when obj.is_a?(Array)
126
+ obj.map do |v|
127
+ if v.is_a?(String)
128
+ then v = parse_liquid(v, {
129
+ ctx: ctx,
130
+ })
131
+ end
132
+
133
+ v
134
+ end
135
+ else
136
+ ctx.registers[:site].liquid_renderer.file("(asset:var)")
137
+ .parse(obj).render!(ctx)
138
+ end
139
+ end
140
+
141
+ # --
142
+ # @param [String] path the path to strip.
143
+ # Strips most source paths from the given path path.
144
+ # rubocop:enable Lint/LiteralAsCondition
145
+ # @return [String]
146
+ # --
147
+ def strip_paths(path)
148
+ paths.map do |v|
149
+ if path.start_with?(v)
150
+ return path.sub(v + "/", "")
151
+ end
152
+ end
153
+
154
+ path
155
+ end
156
+
157
+ # --
158
+ # Lands your path inside of the cache directory.
159
+ # @note configurable with `caching: { path: "dir_name"` }
160
+ # @return [String]
161
+ # --
162
+ def in_cache_dir(*paths)
163
+ path = Pathutil.pwd.join(strip_slashes(asset_config[:caching][:path]))
164
+ Pathutil.new(paths.reduce(path.to_s) do |b, p|
165
+ Jekyll.sanitized_path(b, p)
166
+ end)
167
+ end
168
+
169
+ # --
170
+ # @note this is configurable with `:destination`
171
+ # Lands your path inside of the destination directory.
172
+ # @param [Array<String>] paths the paths.
173
+ # @return [String]
174
+ # --
175
+ def in_dest_dir(*paths)
176
+ destination = strip_slashes(asset_config[:destination])
177
+
178
+ paths.unshift(destination)
179
+ paths = paths.flatten.compact
180
+ Pathutil.new(jekyll
181
+ .in_dest_dir(*paths))
182
+ end
183
+
184
+ # --
185
+ # @param [String] the path.
186
+ # @note this should only be used for *urls*
187
+ # rubocop:disable Metrics/CyclomaticComplexity
188
+ # rubocop:disable Metrics/PerceivedComplexity
189
+ # rubocop:disable Metrics/AbcSize
190
+ # Builds a url path for HTML.
191
+ # @return [String]
192
+ # --
193
+ def prefix_url(user_path = nil)
194
+ dest = strip_slashes(asset_config[:destination])
195
+ cdn = make_https(strip_slashes(asset_config[:cdn][:url]))
196
+ base = strip_slashes(jekyll.config["baseurl"])
197
+ cfg = asset_config
198
+
199
+ path = []
200
+ path << cdn if Jekyll.production? && cdn
201
+ path << base if Jekyll.dev? || !cdn || (cdn && cfg[:cdn][:baseurl])
202
+ path << dest if Jekyll.dev? || !cdn || (cdn && cfg[:cdn][:destination])
203
+ path << user_path unless user_path.nil? || user_path == ""
204
+
205
+ path = File.join(path.flatten.compact)
206
+ return path if cdn && Jekyll.production?
207
+ "/" + path
208
+ end
209
+
210
+ # --
211
+ # param [String] the content type
212
+ # Strips the secondary content from type.
213
+ # rubocop:enable Metrics/PerceivedComplexity
214
+ # rubocop:enable Metrics/CyclomaticComplexity
215
+ # rubocop:enable Metrics/AbcSize
216
+ # @return [String]
217
+ # --
218
+ module_function
219
+ def strip_secondary_content_type(str)
220
+ str = str.split("/")
221
+ raise ArgumentError, "#{str.join('/')} is invalid." if str.size > 2
222
+ File.join(str[0], str[1].rpartition(%r!\+!).last)
223
+ end
224
+
225
+ # --
226
+ # @param [String] path the path.
227
+ # Strip the start and end slashes in a path.
228
+ # @return [String]
229
+ # --
230
+ module_function
231
+ def strip_slashes(path)
232
+ return if path.nil? || path == ""
233
+ path.gsub(%r!^/|/$!, "")
234
+ end
235
+
236
+ # --
237
+ # @param [String] url the url.
238
+ # Make a url a proper url, and an https url.
239
+ # @return [String]
240
+ # --
241
+ module_function
242
+ def make_https(url)
243
+ return if url.nil? || url == ""
244
+ url.gsub(%r!(https?:)?//!,
245
+ "https://")
246
+ end
247
+
248
+ # --
249
+ # Get all the manifest files.
250
+ # @note this includes dynamic keys, like SourceMaps.
251
+ # rubocop:disable Metrics/AbcSize
252
+ # @return [Array<String>]
253
+ # --
254
+ module_function
255
+ def manifest_files(env)
256
+ manifest = env.manifest.data.values_at(*Manifest.keep_keys).map(&:to_a)
257
+ out = manifest.flatten.each_with_object([]) do |v, a|
258
+ path = Pathutil.new(env.in_dest_dir(v))
259
+ a << path.to_s + ".gz" if path.exist? && !env.skip_gzip?
260
+ a << path.to_s if path.exist?
261
+ v = Pathutil.new(v)
262
+
263
+ next if v.dirname == "."
264
+ v.dirname.descend.each do |vv|
265
+ vv = env.in_dest_dir(vv)
266
+ unless a.include?(vv)
267
+ a << vv
268
+ end
269
+ end
270
+ end
271
+
272
+ out
273
+ end
274
+
275
+ # --
276
+ # rubocop:enable Metrics/AbcSize
277
+ # Either require the file or keep moving along.
278
+ # @yield a block of code if the require works out.
279
+ # @param [String] file the file to require.
280
+ # @return [nil]
281
+ # --
282
+ module_function
283
+ def try_require(file)
284
+ require file
285
+ if block_given?
286
+ yield
287
+ end
288
+ rescue LoadError
289
+ Logger.debug "Unable to load file `#{file}'"
290
+ end
291
+
292
+ # --
293
+ # @yield a blockof code if the require works out.
294
+ # Either require exec.js, and the file or move along.
295
+ # @param [String] file the file to require.
296
+ # @return [nil]
297
+ # --
298
+ module_function
299
+ def javascript?
300
+ require "execjs"
301
+ if block_given?
302
+ yield
303
+ end
304
+ rescue ExecJS::RuntimeUnavailable
305
+ nil
306
+ end
307
+
308
+ # --
309
+ # @param [Jekyll::Site] site
310
+ # @param [Hash<Symbol,Object>] payload
311
+ # Try to replicate and run hooks the Jekyll would normally run.
312
+ # rubocop:disable Metrics/LineLength
313
+ # @return nil
314
+ # --
315
+ def run_liquid_hooks(payload, site)
316
+ Hook.trigger(:liquid, :pre_render) { |h| h.call(payload, site) }
317
+ post, page, doc = get_liquid_obj(payload, site)
318
+
319
+ # I would assume most people set in :pre_render logically?
320
+ Jekyll::Hooks.trigger(:posts, :pre_render, post, payload) if post
321
+ Jekyll::Hooks.trigger(:documents, :pre_render, post || doc, payload) if post || doc
322
+ Jekyll::Hooks.trigger(:pages, :pre_render, page, payload) if page
323
+ end
324
+
325
+ # --
326
+ # @param [Jekyll::Site] site
327
+ # @param [Hash<Symbol,Object>] payload
328
+ # Discovers the Jekyll object, corresponding to the type.
329
+ # @note this allows us to trigger hooks that Jekyll would trigger.
330
+ # @return [Jekyll::Document, Jekyll::Page]
331
+ # rubocop:disable Layout/ExtraSpacing
332
+ # --
333
+ def get_liquid_obj(payload, site)
334
+ path = payload["path"]
335
+
336
+ post = site.posts.docs.find { |v| v.relative_path == path }
337
+ docs = site. documents.find { |v| v.relative_path == path } unless post
338
+ page = site. pages.find { |v| v.relative_path == path } unless docs
339
+
340
+ [
341
+ post,
342
+ page,
343
+ docs,
344
+ ]
345
+ end
346
+ end
347
+ end
348
+ end
@@ -1,9 +1,9 @@
1
1
  # Frozen-string-literal: true
2
- # Copyright: 2012 - 2016 - MIT License
2
+ # Copyright: 2012 - 2017 - MIT License
3
3
  # Encoding: utf-8
4
4
 
5
5
  module Jekyll
6
6
  module Assets
7
- VERSION="2.4.0"
7
+ VERSION = "3.0.0"
8
8
  end
9
9
  end
@@ -0,0 +1,36 @@
1
+ # Frozen-string-literal: true
2
+ # Copyright: 2012 - 2017 - MIT License
3
+ # Encoding: utf-8
4
+
5
+ unless Jekyll::Assets::Env.old_sprockets?
6
+ require "sprockets/exporters/base"
7
+
8
+ module Sprockets
9
+ module Exporters
10
+ class FileExporter < Exporters::Base
11
+ def skip?(logger)
12
+ dest = environment.in_dest_dir + "/"
13
+ out, pth = nil, target.sub(dest, "")
14
+
15
+ if File.exist?(target)
16
+ logger.debug "Skips #{pth}" do
17
+ out = true
18
+ end
19
+ else
20
+ logger.debug "Write #{pth}" do
21
+ out = false
22
+ end
23
+ end
24
+
25
+ out
26
+ end
27
+
28
+ def call
29
+ write target do |f|
30
+ f.write asset.source
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-assets
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordon Bedwell
@@ -10,42 +10,50 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-09-29 00:00:00.000000000 Z
13
+ date: 2017-11-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: rack
16
+ name: execjs
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '1.6'
21
+ version: '2.7'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '1.6'
28
+ version: '2.7'
29
29
  - !ruby/object:Gem::Dependency
30
- name: sprockets
30
+ name: nokogiri
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '3.3'
36
- - - "<"
37
- - !ruby/object:Gem::Version
38
- version: '3.8'
35
+ version: '1.8'
39
36
  type: :runtime
40
37
  prerelease: false
41
38
  version_requirements: !ruby/object:Gem::Requirement
42
39
  requirements:
43
40
  - - "~>"
44
41
  - !ruby/object:Gem::Version
45
- version: '3.3'
46
- - - "<"
42
+ version: '1.8'
43
+ - !ruby/object:Gem::Dependency
44
+ name: activesupport
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
47
48
  - !ruby/object:Gem::Version
48
- version: '3.8'
49
+ version: '5.0'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '5.0'
49
57
  - !ruby/object:Gem::Dependency
50
58
  name: fastimage
51
59
  requirement: !ruby/object:Gem::Requirement
@@ -67,95 +75,101 @@ dependencies:
67
75
  - !ruby/object:Gem::Version
68
76
  version: '2.0'
69
77
  - !ruby/object:Gem::Dependency
70
- name: jekyll
78
+ name: sprockets
71
79
  requirement: !ruby/object:Gem::Requirement
72
80
  requirements:
73
81
  - - ">="
74
82
  - !ruby/object:Gem::Version
75
- version: '3.0'
76
- - - "~>"
83
+ version: '3.3'
84
+ - - "<"
77
85
  - !ruby/object:Gem::Version
78
- version: '3.1'
86
+ version: 4.1.beta
79
87
  type: :runtime
80
88
  prerelease: false
81
89
  version_requirements: !ruby/object:Gem::Requirement
82
90
  requirements:
83
91
  - - ">="
84
92
  - !ruby/object:Gem::Version
85
- version: '3.0'
86
- - - "~>"
93
+ version: '3.3'
94
+ - - "<"
87
95
  - !ruby/object:Gem::Version
88
- version: '3.1'
96
+ version: 4.1.beta
89
97
  - !ruby/object:Gem::Dependency
90
- name: pathutil
98
+ name: liquid-tag-parser
91
99
  requirement: !ruby/object:Gem::Requirement
92
100
  requirements:
93
- - - ">="
101
+ - - "~>"
94
102
  - !ruby/object:Gem::Version
95
- version: '0.8'
103
+ version: '1.0'
96
104
  type: :runtime
97
105
  prerelease: false
98
106
  version_requirements: !ruby/object:Gem::Requirement
99
107
  requirements:
100
- - - ">="
108
+ - - "~>"
101
109
  - !ruby/object:Gem::Version
102
- version: '0.8'
110
+ version: '1.0'
103
111
  - !ruby/object:Gem::Dependency
104
- name: extras
112
+ name: jekyll
105
113
  requirement: !ruby/object:Gem::Requirement
106
114
  requirements:
107
- - - "~>"
115
+ - - ">="
108
116
  - !ruby/object:Gem::Version
109
- version: '0.2'
117
+ version: '3.5'
118
+ - - "<"
119
+ - !ruby/object:Gem::Version
120
+ version: '4.0'
110
121
  type: :runtime
111
122
  prerelease: false
112
123
  version_requirements: !ruby/object:Gem::Requirement
113
124
  requirements:
114
- - - "~>"
125
+ - - ">="
115
126
  - !ruby/object:Gem::Version
116
- version: '0.2'
127
+ version: '3.5'
128
+ - - "<"
129
+ - !ruby/object:Gem::Version
130
+ version: '4.0'
117
131
  - !ruby/object:Gem::Dependency
118
- name: concurrent-ruby
132
+ name: jekyll-sanity
119
133
  requirement: !ruby/object:Gem::Requirement
120
134
  requirements:
121
135
  - - "~>"
122
136
  - !ruby/object:Gem::Version
123
- version: '1.0'
137
+ version: '1.2'
124
138
  type: :runtime
125
139
  prerelease: false
126
140
  version_requirements: !ruby/object:Gem::Requirement
127
141
  requirements:
128
142
  - - "~>"
129
143
  - !ruby/object:Gem::Version
130
- version: '1.0'
144
+ version: '1.2'
131
145
  - !ruby/object:Gem::Dependency
132
- name: nokogiri
146
+ name: pathutil
133
147
  requirement: !ruby/object:Gem::Requirement
134
148
  requirements:
135
149
  - - "~>"
136
150
  - !ruby/object:Gem::Version
137
- version: '1.6'
138
- type: :development
151
+ version: '0.16'
152
+ type: :runtime
139
153
  prerelease: false
140
154
  version_requirements: !ruby/object:Gem::Requirement
141
155
  requirements:
142
156
  - - "~>"
143
157
  - !ruby/object:Gem::Version
144
- version: '1.6'
158
+ version: '0.16'
145
159
  - !ruby/object:Gem::Dependency
146
- name: luna-rspec-formatters
160
+ name: extras
147
161
  requirement: !ruby/object:Gem::Requirement
148
162
  requirements:
149
163
  - - "~>"
150
164
  - !ruby/object:Gem::Version
151
- version: '3.5'
152
- type: :development
165
+ version: '0.2'
166
+ type: :runtime
153
167
  prerelease: false
154
168
  version_requirements: !ruby/object:Gem::Requirement
155
169
  requirements:
156
170
  - - "~>"
157
171
  - !ruby/object:Gem::Version
158
- version: '3.5'
172
+ version: '0.2'
159
173
  - !ruby/object:Gem::Dependency
160
174
  name: rspec
161
175
  requirement: !ruby/object:Gem::Requirement
@@ -170,10 +184,10 @@ dependencies:
170
184
  - - "~>"
171
185
  - !ruby/object:Gem::Version
172
186
  version: '3.4'
173
- description: |2
174
- A Jekyll plugin, that allows you to write javascript/css assets in
175
- other languages such as CoffeeScript, Sass, Less and ERB, concatenate
176
- them, respecting dependencies, minify and many more.
187
+ description: |
188
+ A drop-in Jekyll Plugin that provides an asset pipeline for JavaScript,
189
+ CSS, SASS, SCSS. Based around Sprockets (from Rails) and just as powereful
190
+ it provides everything you need to manage assets in Jekyll.
177
191
  email:
178
192
  - jordon@envygeeks.io
179
193
  - ixti@member.fsf.org
@@ -186,49 +200,56 @@ files:
186
200
  - LICENSE
187
201
  - README.md
188
202
  - Rakefile
189
- - lib/jekyll-assets.rb
190
203
  - lib/jekyll/assets.rb
191
- - lib/jekyll/assets/addons/autoprefixer.rb
192
- - lib/jekyll/assets/addons/bootstrap.rb
193
- - lib/jekyll/assets/addons/fontawesome.rb
194
- - lib/jekyll/assets/addons/javascript.rb
195
- - lib/jekyll/assets/cached.rb
196
204
  - lib/jekyll/assets/config.rb
205
+ - lib/jekyll/assets/context.rb
206
+ - lib/jekyll/assets/default.rb
207
+ - lib/jekyll/assets/drop.rb
197
208
  - lib/jekyll/assets/env.rb
198
- - lib/jekyll/assets/helpers.rb
209
+ - lib/jekyll/assets/extensible.rb
210
+ - lib/jekyll/assets/filters.rb
199
211
  - lib/jekyll/assets/hook.rb
200
- - lib/jekyll/assets/hooks/cache.rb
201
- - lib/jekyll/assets/hooks/compression.rb
202
- - lib/jekyll/assets/hooks/config.rb
203
- - lib/jekyll/assets/hooks/erb.rb
204
- - lib/jekyll/assets/hooks/jekyll/drops.rb
205
- - lib/jekyll/assets/hooks/jekyll/setup.rb
206
- - lib/jekyll/assets/hooks/jekyll/write.rb
207
- - lib/jekyll/assets/hooks/logger.rb
208
- - lib/jekyll/assets/hooks/sources.rb
209
- - lib/jekyll/assets/hooks/sprockets.rb
210
- - lib/jekyll/assets/hooks/version.rb
211
- - lib/jekyll/assets/liquid/context.rb
212
- - lib/jekyll/assets/liquid/drop.rb
213
- - lib/jekyll/assets/liquid/filters.rb
214
- - lib/jekyll/assets/liquid/tag.rb
215
- - lib/jekyll/assets/liquid/tag/defaults.rb
216
- - lib/jekyll/assets/liquid/tag/defaults/image.rb
217
- - lib/jekyll/assets/liquid/tag/defaults/sha.rb
218
- - lib/jekyll/assets/liquid/tag/parser.rb
219
- - lib/jekyll/assets/liquid/tag/proxied_asset.rb
220
- - lib/jekyll/assets/liquid/tag/proxies.rb
212
+ - lib/jekyll/assets/html.rb
221
213
  - lib/jekyll/assets/logger.rb
222
214
  - lib/jekyll/assets/manifest.rb
223
- - lib/jekyll/assets/patches/jekyll/cleaner.rb
224
- - lib/jekyll/assets/patches/jekyll/site.rb
225
- - lib/jekyll/assets/patches/kernel.rb
226
- - lib/jekyll/assets/patches/sprockets/asset.rb
227
- - lib/jekyll/assets/processors/less.rb
228
- - lib/jekyll/assets/processors/liquid.rb
229
- - lib/jekyll/assets/proxies/image_optim.rb
230
- - lib/jekyll/assets/proxies/magick.rb
215
+ - lib/jekyll/assets/map.rb
216
+ - lib/jekyll/assets/map/css.rb
217
+ - lib/jekyll/assets/map/javascript.rb
218
+ - lib/jekyll/assets/map/writer.rb
219
+ - lib/jekyll/assets/patches/cached_env.rb
220
+ - lib/jekyll/assets/patches/functions.rb
221
+ - lib/jekyll/assets/patches/obsolete_files.rb
222
+ - lib/jekyll/assets/patches/sprockets.rb
223
+ - lib/jekyll/assets/patches/sprockets_data_uri.rb
224
+ - lib/jekyll/assets/plugins.rb
225
+ - lib/jekyll/assets/plugins/bootstrap.rb
226
+ - lib/jekyll/assets/plugins/font-awesome.rb
227
+ - lib/jekyll/assets/plugins/frontmatter.rb
228
+ - lib/jekyll/assets/plugins/html/audio.rb
229
+ - lib/jekyll/assets/plugins/html/css.rb
230
+ - lib/jekyll/assets/plugins/html/defaults/audio.rb
231
+ - lib/jekyll/assets/plugins/html/defaults/css.rb
232
+ - lib/jekyll/assets/plugins/html/defaults/img.rb
233
+ - lib/jekyll/assets/plugins/html/defaults/js.rb
234
+ - lib/jekyll/assets/plugins/html/defaults/vid.rb
235
+ - lib/jekyll/assets/plugins/html/img.rb
236
+ - lib/jekyll/assets/plugins/html/js.rb
237
+ - lib/jekyll/assets/plugins/html/pic.rb
238
+ - lib/jekyll/assets/plugins/html/svg.rb
239
+ - lib/jekyll/assets/plugins/html/vid.rb
240
+ - lib/jekyll/assets/plugins/liquid.rb
241
+ - lib/jekyll/assets/plugins/magick.rb
242
+ - lib/jekyll/assets/plugins/optim.rb
243
+ - lib/jekyll/assets/plugins/prefixer.rb
244
+ - lib/jekyll/assets/plugins/proxy/magick.rb
245
+ - lib/jekyll/assets/plugins/proxy/optim.rb
246
+ - lib/jekyll/assets/plugins/searcher.rb
247
+ - lib/jekyll/assets/proxy.rb
248
+ - lib/jekyll/assets/tag.rb
249
+ - lib/jekyll/assets/url.rb
250
+ - lib/jekyll/assets/utils.rb
231
251
  - lib/jekyll/assets/version.rb
252
+ - lib/jekyll/assets/writer.rb
232
253
  homepage: http://github.com/jekyll/jekyll-assets/
233
254
  licenses:
234
255
  - MIT