jekyll-assets 0.3.2 → 0.3.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.
- data/HISTORY.md +5 -0
- data/README.md +1 -1
- data/lib/jekyll/assets_plugin/asset_file.rb +12 -1
- data/lib/jekyll/assets_plugin/environment.rb +2 -15
- data/lib/jekyll/assets_plugin/environment/index_patch.rb +21 -0
- data/lib/jekyll/assets_plugin/site_patch.rb +5 -4
- data/lib/jekyll/assets_plugin/version.rb +1 -1
- data/spec/fixtures/_assets/vendor/bourbon.css.sass +1 -1
- data/spec/fixtures/_assets/vendor/compass.css.sass +1 -1
- data/spec/lib/jekyll-assets/bourbon_spec.rb +1 -4
- data/spec/lib/jekyll-assets/compass_spec.rb +1 -5
- data/spec/lib/jekyll/assets_plugin/asset_file_spec.rb +25 -3
- data/spec/lib/jekyll/assets_plugin/site_patch_spec.rb +2 -3
- metadata +4 -3
data/HISTORY.md
CHANGED
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
[](http://travis-ci.org/ixti/jekyll-assets)
|
4
4
|
[](https://gemnasium.com/ixti/jekyll-assets)
|
5
|
-
[](https://codeclimate.com/github/ixti/jekyll-assets)
|
6
6
|
|
7
7
|
Jekyll plugin, that adds Rails-alike assets pipeline, that means that:
|
8
8
|
|
@@ -14,7 +14,18 @@ module Jekyll
|
|
14
14
|
|
15
15
|
|
16
16
|
def destination dest
|
17
|
-
File.join
|
17
|
+
File.join dest, @site.assets_config.dirname, filename
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
def filename
|
22
|
+
cachebust = @site.assets_config.cachebust
|
23
|
+
|
24
|
+
case cachebust
|
25
|
+
when :none, :soft then asset.logical_path
|
26
|
+
when :hard then asset.digest_path
|
27
|
+
else raise "Unknown cachebust strategy: #{cachebust.inspect}"
|
28
|
+
end
|
18
29
|
end
|
19
30
|
|
20
31
|
|
@@ -19,6 +19,7 @@ module Jekyll
|
|
19
19
|
|
20
20
|
|
21
21
|
autoload :ContextPatch, "jekyll/assets_plugin/environment/context_patch"
|
22
|
+
autoload :IndexPatch, "jekyll/assets_plugin/environment/index_patch"
|
22
23
|
|
23
24
|
|
24
25
|
attr_reader :site
|
@@ -51,21 +52,7 @@ module Jekyll
|
|
51
52
|
|
52
53
|
|
53
54
|
def index
|
54
|
-
super.tap
|
55
|
-
index.instance_eval do
|
56
|
-
def find_asset path, options = {}
|
57
|
-
site = @environment.site
|
58
|
-
asset = super
|
59
|
-
bundle = options[:bundle]
|
60
|
-
|
61
|
-
if asset and bundle and not site.static_files.include? asset
|
62
|
-
site.static_files << AssetFile.new(site, asset)
|
63
|
-
end
|
64
|
-
|
65
|
-
asset
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
55
|
+
super.tap { |index| index.singleton_class.send :include, IndexPatch }
|
69
56
|
end
|
70
57
|
|
71
58
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module AssetsPlugin
|
3
|
+
class Environment
|
4
|
+
module IndexPatch
|
5
|
+
|
6
|
+
def find_asset path, options = {}
|
7
|
+
site = @environment.site
|
8
|
+
asset = super
|
9
|
+
bundle = options[:bundle]
|
10
|
+
|
11
|
+
if asset and bundle and not site.static_files.include? asset
|
12
|
+
site.static_files << AssetFile.new(site, asset)
|
13
|
+
end
|
14
|
+
|
15
|
+
asset
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -22,14 +22,15 @@ module Jekyll
|
|
22
22
|
|
23
23
|
|
24
24
|
def asset_path *args
|
25
|
-
asset
|
26
|
-
baseurl
|
25
|
+
asset = assets[*args]
|
26
|
+
baseurl = "#{assets_config.baseurl}/"
|
27
|
+
cachebust = assets_config.cachebust
|
27
28
|
|
28
|
-
case
|
29
|
+
case cachebust
|
29
30
|
when :none then baseurl << asset.logical_path
|
30
31
|
when :soft then baseurl << asset.logical_path << "?cb=#{asset.digest}"
|
31
32
|
when :hard then baseurl << asset.digest_path
|
32
|
-
else raise "Unknown
|
33
|
+
else raise "Unknown cachebust strategy: #{cachebust.inspect}"
|
33
34
|
end
|
34
35
|
end
|
35
36
|
|
@@ -5,10 +5,7 @@ require "jekyll-assets/bourbon"
|
|
5
5
|
module Jekyll::AssetsPlugin
|
6
6
|
describe "Bourbon integration" do
|
7
7
|
it "should globally append bourbon paths into Sprockets environment" do
|
8
|
-
|
9
|
-
|
10
|
-
asset.should =~ /-webkit-box-shadow/
|
11
|
-
asset.should =~ /box-shadow/
|
8
|
+
@site.assets["vendor/bourbon.css"].to_s.should =~ /linear-gradient/
|
12
9
|
end
|
13
10
|
end
|
14
11
|
end
|
@@ -5,11 +5,7 @@ require "jekyll-assets/compass"
|
|
5
5
|
module Jekyll::AssetsPlugin
|
6
6
|
describe "Compass integration" do
|
7
7
|
it "should globally append compass paths into Sprockets environment" do
|
8
|
-
|
9
|
-
|
10
|
-
asset.should =~ /-webkit-box-shadow/
|
11
|
-
asset.should =~ /-moz-box-shadow/
|
12
|
-
asset.should =~ /box-shadow/
|
8
|
+
@site.assets["vendor/compass.css"].to_s.should =~ /linear-gradient/
|
13
9
|
end
|
14
10
|
end
|
15
11
|
end
|
@@ -4,9 +4,31 @@ require "spec_helper"
|
|
4
4
|
module Jekyll::AssetsPlugin
|
5
5
|
describe AssetFile do
|
6
6
|
context "#destination" do
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
subject do
|
8
|
+
AssetFile.new(@site, @site.assets["app.css"]).destination @dest.to_s
|
9
|
+
end
|
10
|
+
|
11
|
+
context "with none cachebust" do
|
12
|
+
before { @site.assets_config.cachebust = :none }
|
13
|
+
it { should match(%r{/app\.css$}) }
|
14
|
+
end
|
15
|
+
|
16
|
+
context "with soft cachebust" do
|
17
|
+
before { @site.assets_config.cachebust = :soft }
|
18
|
+
it { should match(%r{/app\.css$}) }
|
19
|
+
end
|
20
|
+
|
21
|
+
context "with hard cachebust" do
|
22
|
+
before { @site.assets_config.cachebust = :hard }
|
23
|
+
it { should match %r{/app-[0-9a-f]{32}\.css$} }
|
24
|
+
end
|
25
|
+
|
26
|
+
context "with unknown cachebust" do
|
27
|
+
before { @site.assets_config.cachebust = :wtf }
|
28
|
+
it "should raise error" do
|
29
|
+
expect { @site.asset_path "app.css" }.to raise_error
|
30
|
+
end
|
31
|
+
end
|
10
32
|
end
|
11
33
|
end
|
12
34
|
end
|
@@ -63,21 +63,20 @@ module Jekyll::AssetsPlugin
|
|
63
63
|
|
64
64
|
|
65
65
|
context "#asset_path" do
|
66
|
+
subject { site.asset_path "app.css" }
|
67
|
+
|
66
68
|
context "with none cachebust" do
|
67
69
|
before { site.assets_config.cachebust = :none }
|
68
|
-
subject { site.asset_path "app.css" }
|
69
70
|
it { should match(%r{^/assets/app\.css$}) }
|
70
71
|
end
|
71
72
|
|
72
73
|
context "with soft cachebust" do
|
73
74
|
before { site.assets_config.cachebust = :soft }
|
74
|
-
subject { site.asset_path "app.css" }
|
75
75
|
it { should match(%r{^/assets/app\.css\?cb=[a-f0-9]{32}$}) }
|
76
76
|
end
|
77
77
|
|
78
78
|
context "with hard cachebust" do
|
79
79
|
before { site.assets_config.cachebust = :hard }
|
80
|
-
subject { site.asset_path "app.css" }
|
81
80
|
it { should match(%r{^/assets/app-[a-f0-9]{32}\.css$}) }
|
82
81
|
end
|
83
82
|
|
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: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jekyll
|
@@ -167,6 +167,7 @@ files:
|
|
167
167
|
- lib/jekyll/assets_plugin/configuration.rb
|
168
168
|
- lib/jekyll/assets_plugin/environment.rb
|
169
169
|
- lib/jekyll/assets_plugin/environment/context_patch.rb
|
170
|
+
- lib/jekyll/assets_plugin/environment/index_patch.rb
|
170
171
|
- lib/jekyll/assets_plugin/filters.rb
|
171
172
|
- lib/jekyll/assets_plugin/liquid_processor.rb
|
172
173
|
- lib/jekyll/assets_plugin/renderer.rb
|
@@ -218,7 +219,7 @@ rubyforge_project:
|
|
218
219
|
rubygems_version: 1.8.23
|
219
220
|
signing_key:
|
220
221
|
specification_version: 3
|
221
|
-
summary: jekyll-assets-0.3.
|
222
|
+
summary: jekyll-assets-0.3.3
|
222
223
|
test_files:
|
223
224
|
- spec/fixtures/.gitignore
|
224
225
|
- spec/fixtures/_assets/app.css.erb
|