jekyll-assets 2.1.3 → 2.2.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/Gemfile +6 -2
- data/LICENSE +2 -2
- data/README.md +38 -31
- data/Rakefile +1 -40
- data/lib/jekyll-assets.rb +3 -1
- data/lib/jekyll/assets.rb +18 -16
- data/lib/jekyll/assets/addons.rb +3 -9
- data/lib/jekyll/assets/addons/autoprefixer.rb +6 -2
- data/lib/jekyll/assets/addons/bootstrap.rb +3 -1
- data/lib/jekyll/assets/addons/fontawesome.rb +7 -0
- data/lib/jekyll/assets/addons/{js_es6.rb → javascript.rb} +3 -1
- data/lib/jekyll/assets/addons/less.rb +9 -0
- data/lib/jekyll/assets/cached.rb +13 -2
- data/lib/jekyll/assets/config.rb +24 -14
- data/lib/jekyll/assets/env.rb +92 -40
- data/lib/jekyll/assets/hook.rb +14 -4
- data/lib/jekyll/assets/hooks.rb +5 -5
- data/lib/jekyll/assets/hooks/cache.rb +11 -3
- data/lib/jekyll/assets/hooks/compression.rb +12 -2
- data/lib/jekyll/assets/hooks/{configuration.rb → config.rb} +3 -1
- data/lib/jekyll/assets/hooks/erb.rb +15 -0
- data/lib/jekyll/assets/hooks/helpers.rb +4 -3
- data/lib/jekyll/assets/hooks/jekyll/drops.rb +3 -1
- data/lib/jekyll/assets/hooks/jekyll/setup.rb +6 -8
- data/lib/jekyll/assets/hooks/jekyll/write.rb +6 -2
- data/lib/jekyll/assets/hooks/logger.rb +6 -2
- data/lib/jekyll/assets/hooks/sources.rb +4 -1
- data/lib/jekyll/assets/hooks/sprockets.rb +3 -1
- data/lib/jekyll/assets/hooks/version.rb +6 -2
- data/lib/jekyll/assets/liquid.rb +3 -1
- data/lib/jekyll/assets/liquid/drop.rb +20 -2
- data/lib/jekyll/assets/liquid/filters.rb +13 -14
- data/lib/jekyll/assets/liquid/tag.rb +101 -39
- data/lib/jekyll/assets/liquid/tag/defaults.rb +2 -0
- data/lib/jekyll/assets/liquid/tag/defaults/image.rb +25 -5
- data/lib/jekyll/assets/liquid/tag/parser.rb +27 -19
- data/lib/jekyll/assets/liquid/tag/proxied_asset.rb +33 -20
- data/lib/jekyll/assets/liquid/tag/proxies.rb +21 -16
- data/lib/jekyll/assets/logger.rb +29 -15
- data/lib/jekyll/assets/manifest.rb +98 -0
- data/lib/jekyll/assets/patches.rb +4 -2
- data/lib/jekyll/assets/patches/jekyll/site.rb +0 -4
- data/lib/jekyll/assets/patches/kernel.rb +4 -14
- data/lib/jekyll/assets/patches/sprockets/asset.rb +10 -4
- data/lib/jekyll/assets/patches/sprockets/helpers.rb +31 -0
- data/lib/jekyll/assets/processors.rb +1 -0
- data/lib/jekyll/assets/processors/less.rb +68 -0
- data/lib/jekyll/assets/processors/liquid.rb +46 -0
- data/lib/jekyll/assets/proxies.rb +1 -0
- data/lib/jekyll/assets/proxies/magick.rb +167 -0
- data/lib/jekyll/assets/version.rb +4 -2
- metadata +52 -23
- data/lib/jekyll/assets/addons/compass.rb +0 -11
- data/lib/jekyll/assets/addons/font_awesome.rb +0 -5
- data/lib/jekyll/assets/addons/processors/liquid.rb +0 -31
- data/lib/jekyll/assets/addons/proxies/magick.rb +0 -126
- data/lib/jekyll/assets/hooks/context_patches.rb +0 -17
- data/lib/jekyll/assets/hooks/disable_erb.rb +0 -10
- data/lib/jekyll/assets/patches/jekyll/cleaner.rb +0 -15
@@ -1,9 +1,11 @@
|
|
1
|
+
# ----------------------------------------------------------------------------
|
1
2
|
# Frozen-string-literal: true
|
2
|
-
# Copyright: 2012-
|
3
|
+
# Copyright: 2012 - 2016 - MIT License
|
3
4
|
# Encoding: utf-8
|
5
|
+
# ----------------------------------------------------------------------------
|
4
6
|
|
5
7
|
module Jekyll
|
6
8
|
module Assets
|
7
|
-
VERSION="2.
|
9
|
+
VERSION="2.2.0"
|
8
10
|
end
|
9
11
|
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
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jordon Bedwell
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-04-
|
13
|
+
date: 2016-04-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: sprockets
|
@@ -44,44 +44,70 @@ dependencies:
|
|
44
44
|
name: fastimage
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- - "
|
47
|
+
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '1.8'
|
50
|
+
- - "~>"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '2.0'
|
50
53
|
type: :runtime
|
51
54
|
prerelease: false
|
52
55
|
version_requirements: !ruby/object:Gem::Requirement
|
53
56
|
requirements:
|
54
|
-
- - "
|
57
|
+
- - ">="
|
55
58
|
- !ruby/object:Gem::Version
|
56
59
|
version: '1.8'
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '2.0'
|
57
63
|
- !ruby/object:Gem::Dependency
|
58
64
|
name: jekyll
|
59
65
|
requirement: !ruby/object:Gem::Requirement
|
60
66
|
requirements:
|
61
|
-
- - "
|
67
|
+
- - ">="
|
62
68
|
- !ruby/object:Gem::Version
|
63
69
|
version: '3.0'
|
70
|
+
- - "~>"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '3.1'
|
64
73
|
type: :runtime
|
65
74
|
prerelease: false
|
66
75
|
version_requirements: !ruby/object:Gem::Requirement
|
67
76
|
requirements:
|
68
|
-
- - "
|
77
|
+
- - ">="
|
69
78
|
- !ruby/object:Gem::Version
|
70
79
|
version: '3.0'
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.1'
|
71
83
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
84
|
+
name: pathutil
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.8'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.8'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: extras
|
73
99
|
requirement: !ruby/object:Gem::Requirement
|
74
100
|
requirements:
|
75
101
|
- - "~>"
|
76
102
|
- !ruby/object:Gem::Version
|
77
|
-
version: '
|
103
|
+
version: '0.1'
|
78
104
|
type: :runtime
|
79
105
|
prerelease: false
|
80
106
|
version_requirements: !ruby/object:Gem::Requirement
|
81
107
|
requirements:
|
82
108
|
- - "~>"
|
83
109
|
- !ruby/object:Gem::Version
|
84
|
-
version: '
|
110
|
+
version: '0.1'
|
85
111
|
- !ruby/object:Gem::Dependency
|
86
112
|
name: nokogiri
|
87
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,28 +128,28 @@ dependencies:
|
|
102
128
|
requirements:
|
103
129
|
- - "~>"
|
104
130
|
- !ruby/object:Gem::Version
|
105
|
-
version: '3.
|
131
|
+
version: '3.5'
|
106
132
|
type: :development
|
107
133
|
prerelease: false
|
108
134
|
version_requirements: !ruby/object:Gem::Requirement
|
109
135
|
requirements:
|
110
136
|
- - "~>"
|
111
137
|
- !ruby/object:Gem::Version
|
112
|
-
version: '3.
|
138
|
+
version: '3.5'
|
113
139
|
- !ruby/object:Gem::Dependency
|
114
140
|
name: rspec
|
115
141
|
requirement: !ruby/object:Gem::Requirement
|
116
142
|
requirements:
|
117
143
|
- - "~>"
|
118
144
|
- !ruby/object:Gem::Version
|
119
|
-
version: '3.
|
145
|
+
version: '3.4'
|
120
146
|
type: :development
|
121
147
|
prerelease: false
|
122
148
|
version_requirements: !ruby/object:Gem::Requirement
|
123
149
|
requirements:
|
124
150
|
- - "~>"
|
125
151
|
- !ruby/object:Gem::Version
|
126
|
-
version: '3.
|
152
|
+
version: '3.4'
|
127
153
|
description: |2
|
128
154
|
A Jekyll plugin, that allows you to write javascript/css assets in
|
129
155
|
other languages such as CoffeeScript, Sass, Less and ERB, concatenate
|
@@ -145,11 +171,9 @@ files:
|
|
145
171
|
- lib/jekyll/assets/addons.rb
|
146
172
|
- lib/jekyll/assets/addons/autoprefixer.rb
|
147
173
|
- lib/jekyll/assets/addons/bootstrap.rb
|
148
|
-
- lib/jekyll/assets/addons/
|
149
|
-
- lib/jekyll/assets/addons/
|
150
|
-
- lib/jekyll/assets/addons/
|
151
|
-
- lib/jekyll/assets/addons/processors/liquid.rb
|
152
|
-
- lib/jekyll/assets/addons/proxies/magick.rb
|
174
|
+
- lib/jekyll/assets/addons/fontawesome.rb
|
175
|
+
- lib/jekyll/assets/addons/javascript.rb
|
176
|
+
- lib/jekyll/assets/addons/less.rb
|
153
177
|
- lib/jekyll/assets/cached.rb
|
154
178
|
- lib/jekyll/assets/config.rb
|
155
179
|
- lib/jekyll/assets/env.rb
|
@@ -157,9 +181,8 @@ files:
|
|
157
181
|
- lib/jekyll/assets/hooks.rb
|
158
182
|
- lib/jekyll/assets/hooks/cache.rb
|
159
183
|
- lib/jekyll/assets/hooks/compression.rb
|
160
|
-
- lib/jekyll/assets/hooks/
|
161
|
-
- lib/jekyll/assets/hooks/
|
162
|
-
- lib/jekyll/assets/hooks/disable_erb.rb
|
184
|
+
- lib/jekyll/assets/hooks/config.rb
|
185
|
+
- lib/jekyll/assets/hooks/erb.rb
|
163
186
|
- lib/jekyll/assets/hooks/helpers.rb
|
164
187
|
- lib/jekyll/assets/hooks/jekyll/drops.rb
|
165
188
|
- lib/jekyll/assets/hooks/jekyll/setup.rb
|
@@ -178,11 +201,17 @@ files:
|
|
178
201
|
- lib/jekyll/assets/liquid/tag/proxied_asset.rb
|
179
202
|
- lib/jekyll/assets/liquid/tag/proxies.rb
|
180
203
|
- lib/jekyll/assets/logger.rb
|
204
|
+
- lib/jekyll/assets/manifest.rb
|
181
205
|
- lib/jekyll/assets/patches.rb
|
182
|
-
- lib/jekyll/assets/patches/jekyll/cleaner.rb
|
183
206
|
- lib/jekyll/assets/patches/jekyll/site.rb
|
184
207
|
- lib/jekyll/assets/patches/kernel.rb
|
185
208
|
- lib/jekyll/assets/patches/sprockets/asset.rb
|
209
|
+
- lib/jekyll/assets/patches/sprockets/helpers.rb
|
210
|
+
- lib/jekyll/assets/processors.rb
|
211
|
+
- lib/jekyll/assets/processors/less.rb
|
212
|
+
- lib/jekyll/assets/processors/liquid.rb
|
213
|
+
- lib/jekyll/assets/proxies.rb
|
214
|
+
- lib/jekyll/assets/proxies/magick.rb
|
186
215
|
- lib/jekyll/assets/version.rb
|
187
216
|
homepage: http://github.com/jekyll/jekyll-assets/
|
188
217
|
licenses:
|
@@ -204,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
204
233
|
version: '0'
|
205
234
|
requirements: []
|
206
235
|
rubyforge_project:
|
207
|
-
rubygems_version: 2.6.
|
236
|
+
rubygems_version: 2.6.4
|
208
237
|
signing_key:
|
209
238
|
specification_version: 4
|
210
239
|
summary: Assets for Jekyll
|
@@ -1,11 +0,0 @@
|
|
1
|
-
# Frozen-string-literal: true
|
2
|
-
# Copyright: 2012-2015 - MIT License
|
3
|
-
# Encoding: utf-8
|
4
|
-
|
5
|
-
try_require "compass/core" do
|
6
|
-
Jekyll::Assets::Hook.register :env, :init do
|
7
|
-
Compass::Frameworks::ALL.each do |framework|
|
8
|
-
append_path framework.stylesheets_directory
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
module Jekyll
|
2
|
-
module Assets
|
3
|
-
module Addons
|
4
|
-
module Processors
|
5
|
-
class Liquid < Tilt::Template
|
6
|
-
PROCESSING_FOR = %W(text/css text/sass text/less application/javascript
|
7
|
-
text/scss text/coffeescript text/javascript).freeze
|
8
|
-
def prepare
|
9
|
-
#
|
10
|
-
end
|
11
|
-
|
12
|
-
# Render the file with the sites current context, anything you
|
13
|
-
# can do in a normal liquid file with Jekyll, you can do here inc,
|
14
|
-
# accessing the entirety of your posts and pages, though I don't
|
15
|
-
# know why you would want to, and I ain't judging you.
|
16
|
-
|
17
|
-
def evaluate(scope, _, jekyll = scope.environment.jekyll, &_block)
|
18
|
-
jekyll.liquid_renderer.file(@file).parse(data).render!(jekyll.site_payload, :registers => {
|
19
|
-
:site => jekyll
|
20
|
-
})
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
# There might be a few missing, if there is please do let me know.
|
29
|
-
Jekyll::Assets::Addons::Processors::Liquid::PROCESSING_FOR.each do |val|
|
30
|
-
Sprockets.register_preprocessor val, Jekyll::Assets::Addons::Processors::Liquid
|
31
|
-
end
|
@@ -1,126 +0,0 @@
|
|
1
|
-
# Frozen-string-literal: true
|
2
|
-
# Copyright: 2012-2015 - MIT License
|
3
|
-
# Encoding: utf-8
|
4
|
-
|
5
|
-
try_require "mini_magick" do
|
6
|
-
args = %W(resize quality rotate crop flip)
|
7
|
-
presets = %W(@2x @4x @1/2 @1/3 @2/3 @1/4 @2/4 @3/4
|
8
|
-
@double @quadruple @half @one-third @two-thirds @one-fourth
|
9
|
-
@two-fourths @three-fourths)
|
10
|
-
|
11
|
-
Jekyll::Assets::Env.liquid_proxies.add :magick, :img, *(args + presets) do
|
12
|
-
PRESETS = presets
|
13
|
-
ARGS = args
|
14
|
-
|
15
|
-
class DoubleResizeError < RuntimeError
|
16
|
-
def initialize
|
17
|
-
"Both resize and @*x provided, this is not supported."
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
# @see https://github.com/minimagick/minimagick#usage -- All but
|
22
|
-
# the boolean @ options are provided by Minimagick.
|
23
|
-
|
24
|
-
def initialize(asset, opts, args)
|
25
|
-
@path = asset.filename
|
26
|
-
@opts = opts
|
27
|
-
@asset = asset
|
28
|
-
@args = args
|
29
|
-
end
|
30
|
-
|
31
|
-
#
|
32
|
-
|
33
|
-
def process
|
34
|
-
img = MiniMagick::Image.open(@path)
|
35
|
-
private_methods(true).select { |v| v =~ /\Amagick_/ }.each do |method|
|
36
|
-
send(method, img)
|
37
|
-
end
|
38
|
-
|
39
|
-
img.write(
|
40
|
-
@path
|
41
|
-
)
|
42
|
-
ensure
|
43
|
-
img.destroy!
|
44
|
-
end
|
45
|
-
|
46
|
-
#
|
47
|
-
|
48
|
-
private
|
49
|
-
def any_preset?(*keys)
|
50
|
-
@opts.keys.any? do |key|
|
51
|
-
keys.include?(key)
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
#
|
56
|
-
|
57
|
-
private
|
58
|
-
def preset?
|
59
|
-
(@opts.keys - ARGS.map(&:to_sym)).any?
|
60
|
-
end
|
61
|
-
|
62
|
-
#
|
63
|
-
|
64
|
-
private
|
65
|
-
def magick_quality(img)
|
66
|
-
if @opts.key?(:quality)
|
67
|
-
then img.quality @opts[:quality]
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
#
|
72
|
-
|
73
|
-
private
|
74
|
-
def magick_resize(img)
|
75
|
-
raise DoubleResizeError if @opts.key?(:resize) && preset?
|
76
|
-
if @opts.key?(:resize)
|
77
|
-
then img.resize @opts[:resize]
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
#
|
82
|
-
|
83
|
-
private
|
84
|
-
def magick_rotate(img)
|
85
|
-
if @opts.key?(:rotate)
|
86
|
-
then img.rotate @opts[:rotate]
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
#
|
91
|
-
|
92
|
-
private
|
93
|
-
def magick_flip(img)
|
94
|
-
if @opts.key?(:flip)
|
95
|
-
then img.flip @opts[:flip]
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
#
|
100
|
-
|
101
|
-
private
|
102
|
-
def magick_crop(img)
|
103
|
-
if @opts.key?(:crop)
|
104
|
-
then img.crop @opts[:crop]
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
# I just want you to know, we don't even care if you do multiple
|
109
|
-
# resizes or try to, we don't attempt to even attempt to attempt to care
|
110
|
-
# we expect you to be logical and if you aren't we will comply.
|
111
|
-
|
112
|
-
private
|
113
|
-
def magick_preset_resize(img)
|
114
|
-
return unless preset?
|
115
|
-
width, height = img.width * 4, img.height * 4 if any_preset?(:"4x", :quadruple)
|
116
|
-
width, height = img.width * 2, img.height * 2 if any_preset?(:"2x", :double)
|
117
|
-
width, height = img.width / 2, img.height / 2 if any_preset?(:"1/2", :half)
|
118
|
-
width, height = img.width / 3, img.height / 3 if any_preset?(:"1/3", :"one-third")
|
119
|
-
width, height = img.width / 4, img.height / 4 if any_preset?(:"1/4", :"one-fourth")
|
120
|
-
width, height = img.width / 3 * 2, img.height / 3 * 2 if any_preset?(:"2/3", :"two-thirds")
|
121
|
-
width, height = img.width / 4 * 2, img.height / 4 * 2 if any_preset?(:"2/4", :"two-fourths")
|
122
|
-
width, height = img.width / 4 * 3, img.height / 4 * 3 if any_preset?(:"3/4", :"three-fourths")
|
123
|
-
img.resize "#{width}x#{height}"
|
124
|
-
end
|
125
|
-
end
|
126
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# Frozen-string-literal: true
|
2
|
-
# Copyright: 2012-2015 - MIT License
|
3
|
-
# Encoding: utf-8
|
4
|
-
|
5
|
-
Jekyll::Assets::Hook.register :env, :init do
|
6
|
-
context_class.class_eval do
|
7
|
-
alias_method :_old_asset_path, :asset_path
|
8
|
-
def asset_path(asset, _ = {})
|
9
|
-
out = _old_asset_path asset
|
10
|
-
|
11
|
-
return unless out
|
12
|
-
path = environment.find_asset(resolve(asset))
|
13
|
-
environment.parent.used.add(path)
|
14
|
-
out
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# Frozen-string-literal: true
|
2
|
-
# Copyright: 2012-2015 - MIT License
|
3
|
-
# Encoding: utf-8
|
4
|
-
|
5
|
-
module Jekyll
|
6
|
-
class Cleaner
|
7
|
-
# TODO: jekyll/jekyll@upstream: This method should really have a hook ya.
|
8
|
-
alias_method :_old_obsolete_files, :obsolete_files
|
9
|
-
def obsolete_files
|
10
|
-
_old_obsolete_files.delete_if do |path|
|
11
|
-
path =~ %r!\A#{Regexp.escape(site.in_dest_dir("assets"))}(\/.*)?\Z!
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|