jekyll-assets 2.0.3 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +13 -9
- data/README.md +36 -10
- data/Rakefile +40 -0
- data/lib/jekyll/assets.rb +13 -10
- data/lib/jekyll/assets/addons.rb +7 -6
- data/lib/jekyll/assets/addons/processors/liquid.rb +31 -0
- data/lib/jekyll/assets/addons/proxies/magick.rb +10 -8
- data/lib/jekyll/assets/config.rb +11 -8
- data/lib/jekyll/assets/env.rb +33 -17
- data/lib/jekyll/assets/hook.rb +17 -18
- data/lib/jekyll/assets/hooks.rb +13 -14
- data/lib/jekyll/assets/hooks/context_patches.rb +2 -2
- data/lib/jekyll/assets/hooks/helpers.rb +1 -1
- data/lib/jekyll/assets/hooks/jekyll/{asset_drops.rb → drops.rb} +1 -1
- data/lib/jekyll/assets/hooks/jekyll/setup.rb +13 -0
- data/lib/jekyll/assets/hooks/jekyll/{write_assets.rb → write.rb} +0 -0
- data/lib/jekyll/assets/hooks/sources.rb +2 -1
- data/lib/jekyll/assets/liquid.rb +3 -3
- data/lib/jekyll/assets/liquid/drop.rb +3 -3
- data/lib/jekyll/assets/liquid/filters.rb +5 -12
- data/lib/jekyll/assets/liquid/tag.rb +31 -37
- data/lib/jekyll/assets/liquid/tag/defaults.rb +2 -3
- data/lib/jekyll/assets/liquid/tag/defaults/image.rb +5 -5
- data/lib/jekyll/assets/liquid/tag/parser.rb +47 -55
- data/lib/jekyll/assets/liquid/tag/proxied_asset.rb +6 -10
- data/lib/jekyll/assets/liquid/tag/proxies.rb +19 -32
- data/lib/jekyll/assets/logger.rb +7 -6
- data/lib/jekyll/assets/patches.rb +4 -4
- data/lib/jekyll/assets/patches/kernel.rb +1 -1
- data/lib/jekyll/assets/version.rb +1 -1
- metadata +14 -14
- data/lib/jekyll/assets/hooks/jekyll/ignore.rb +0 -9
- data/lib/jekyll/assets/hooks/jekyll/initialize.rb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ea6db7ce6d3db7e9638ea43bc6b16ef66bda4c4
|
4
|
+
data.tar.gz: 0b4949e68651598f61d1fbf8589999b95984b941
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2bffef1cdd4b4f3c61979fa5cd097dcd89f13158cdb47d21c38d8e459338551e80a4809c6d2dcd43102a846d0310f4b9c8cb5d05087a2085433ace7b6b326f5
|
7
|
+
data.tar.gz: e85a0acdc8a0b8842045f6702a9a6f7cabac5e49144b0ea01738727488ef011f977a384e1452a18ad5372b0e56778dc0b44b22df95f906ca7639d4dabe62310b
|
data/Gemfile
CHANGED
@@ -3,14 +3,18 @@ gemspec
|
|
3
3
|
|
4
4
|
gem "rake"
|
5
5
|
group :development do
|
6
|
-
gem "therubyracer", :platforms => :mri
|
7
|
-
gem "pry"
|
6
|
+
gem "therubyracer", :platforms => :mri, :require => false
|
7
|
+
gem "pry", :require => false
|
8
8
|
end
|
9
9
|
|
10
|
-
|
11
|
-
gem "
|
12
|
-
|
13
|
-
|
14
|
-
gem "
|
15
|
-
gem "
|
16
|
-
gem "
|
10
|
+
group :test do
|
11
|
+
gem "codeclimate-test-reporter", :require => false
|
12
|
+
end
|
13
|
+
|
14
|
+
gem "uglifier", :require => false
|
15
|
+
gem "sprockets-es6", "~> 0.6", :require => false
|
16
|
+
gem "autoprefixer-rails", "~> 6.0", :require => false
|
17
|
+
gem "font-awesome-sass", "~> 4.4.0", :require => false
|
18
|
+
gem "bootstrap-sass", "~> 3.3", :require => false
|
19
|
+
gem "mini_magick", "~> 4.2", :require => false
|
20
|
+
gem "compass-core", :require => false
|
data/README.md
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
[![](https://travis-ci.org/jekyll/jekyll-assets.png?branch=master)][travis]
|
2
|
-
[![](https://
|
2
|
+
[![](https://codeclimate.com/github/jekyll/jekyll-assets/badges/coverage.svg)][coverage]
|
3
3
|
[![](https://codeclimate.com/github/jekyll/jekyll-assets/badges/gpa.svg)][code-climate] [![](https://gemnasium.com/jekyll/jekyll-assets.svg)][gemnasium]
|
4
4
|
|
5
5
|
[gemnasium]: https://gemnasium.com/jekyll/jekyll-assets
|
6
6
|
[code-climate]: https://codeclimate.com/github/jekyll/jekyll-assets
|
7
|
-
[
|
7
|
+
[coverage]: https://codeclimate.com/github/jekyll/jekyll-assets/coverage
|
8
8
|
[travis]: https://travis-ci.org/jekyll/jekyll-assets
|
9
9
|
|
10
10
|
# Jekyll 3 Assets
|
@@ -57,10 +57,16 @@ assets:
|
|
57
57
|
- _assets/img
|
58
58
|
- _assets/js
|
59
59
|
features:
|
60
|
-
|
61
|
-
|
60
|
+
automatic_img_size: true | false | default: true
|
61
|
+
automatic_img_alt : true | false | default: true
|
62
62
|
```
|
63
63
|
|
64
|
+
### Cache Folder
|
65
|
+
|
66
|
+
If you plan to change the `cache` folder, please make sure to add that
|
67
|
+
folder to your `exclude` list in Jekyll or you will generate over and over
|
68
|
+
and over again, `.` folders are not ignored by default.
|
69
|
+
|
64
70
|
### Sources
|
65
71
|
|
66
72
|
The listed resources in the example are all defaults. It should be noted
|
@@ -77,6 +83,8 @@ folder as the sole source (base folder.)***
|
|
77
83
|
* Disable digesting by default in development.
|
78
84
|
* Digest by default in production
|
79
85
|
|
86
|
+
***You can force digesting with `digest: true` in your `_config.yml`***
|
87
|
+
|
80
88
|
### Compression
|
81
89
|
|
82
90
|
* Requires sass and uglify.
|
@@ -84,7 +92,7 @@ folder as the sole source (base folder.)***
|
|
84
92
|
* Enable by default in production.
|
85
93
|
|
86
94
|
|
87
|
-
### Bower
|
95
|
+
### Bower Components
|
88
96
|
|
89
97
|
Modify your `.bowerrc` file and add:
|
90
98
|
|
@@ -98,7 +106,9 @@ And then add `_assets/bower` to your sources list and Sprockets will do the
|
|
98
106
|
the rest for you... you can even `//= require bower_asset.js`. We will even
|
99
107
|
compress them for you per normal if Sprockets supports it and allows us to.
|
100
108
|
|
101
|
-
***You
|
109
|
+
***You do not need to modify your `.bowerrc` file, you can optionally just
|
110
|
+
add it to your sources list and it will work that way too! As long as it's in
|
111
|
+
your Jekyll folder.***
|
102
112
|
|
103
113
|
## Tags
|
104
114
|
|
@@ -136,11 +146,14 @@ rules for our tags as a specification.
|
|
136
146
|
* `sprockets:accept:<value>`
|
137
147
|
* `sprockets:write_to:<value>`
|
138
148
|
|
139
|
-
## Liquid Variables
|
149
|
+
## Liquid Variables
|
150
|
+
|
151
|
+
We support liquid arguments for tag values (but not tag keys), and we also
|
152
|
+
support Liquid pre-processing (with your Jekyll context) sass/less/css files
|
153
|
+
you need do nothing special for the preprocessing an entire file, it's
|
154
|
+
always done.
|
140
155
|
|
141
|
-
|
142
|
-
them to get them to work, this can be a partial argument quote a full argument
|
143
|
-
quote or otherwise, it just must be quoted or escaped.
|
156
|
+
An example of using Liquid in your tags:
|
144
157
|
|
145
158
|
```liquid
|
146
159
|
{% img '{{ image_path }}' %}
|
@@ -148,6 +161,19 @@ quote or otherwise, it just must be quoted or escaped.
|
|
148
161
|
{% img {{\ image_path\ }} %}
|
149
162
|
```
|
150
163
|
|
164
|
+
An example of using Liquid in your SCSS:
|
165
|
+
|
166
|
+
```scss
|
167
|
+
.bg {
|
168
|
+
background: url(asset_path("{{ site.background_image }}"));
|
169
|
+
}
|
170
|
+
```
|
171
|
+
|
172
|
+
You have full access to your entire Jekyll context from any liquid
|
173
|
+
processing we do, so you can do whatever you like and be as dynamic as you
|
174
|
+
like, including full loops and conditional Liquid based CSS since we
|
175
|
+
pre-process your text files.
|
176
|
+
|
151
177
|
## Getting a list of your assets and basic info from Liquid
|
152
178
|
|
153
179
|
We provide all *your* assets as a hash of Liquid Drops so you can get basic
|
data/Rakefile
CHANGED
@@ -1,3 +1,43 @@
|
|
1
1
|
require "rspec/core/rake_task"
|
2
2
|
RSpec::Core::RakeTask.new(:spec)
|
3
3
|
task :default => [:spec]
|
4
|
+
|
5
|
+
task :analysis do
|
6
|
+
require "open3"
|
7
|
+
begin require "jekyll/utils/ansi"
|
8
|
+
rescue LoadError
|
9
|
+
require_relative "spec/support/ansi"
|
10
|
+
end
|
11
|
+
|
12
|
+
cmd = [
|
13
|
+
"docker", "run", "--rm", "--env=CODE_PATH=#{Dir.pwd}", \
|
14
|
+
"--volume='#{Dir.pwd}:/code'", "--volume=/var/run/docker.sock:/var/run/docker.sock", \
|
15
|
+
"--volume=/tmp/cc:/tmp/cc", "-i", "codeclimate/codeclimate", "analyze"
|
16
|
+
]
|
17
|
+
|
18
|
+
ansi = Jekyll::Utils::Ansi
|
19
|
+
file = File.open(".analysis", "w+")
|
20
|
+
Open3.popen3(cmd.shelljoin) do |_, out, err, _|
|
21
|
+
while data = out.gets
|
22
|
+
file.write data
|
23
|
+
if data =~ /\A==/
|
24
|
+
$stdout.print ansi.yellow(data)
|
25
|
+
|
26
|
+
elsif data !~ %r!\A[0-9\-]+!
|
27
|
+
$stdout.puts data
|
28
|
+
|
29
|
+
else
|
30
|
+
h, d = data.split(":", 2)
|
31
|
+
$stdout.print ansi.cyan(h)
|
32
|
+
$stdout.print ":", d
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
while data = err.gets
|
37
|
+
file.write data
|
38
|
+
$stderr.print ansi.red(data)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
file.close
|
43
|
+
end
|
data/lib/jekyll/assets.rb
CHANGED
@@ -2,20 +2,23 @@
|
|
2
2
|
# Copyright: 2012-2015 - MIT License
|
3
3
|
# Encoding: utf-8
|
4
4
|
|
5
|
+
autoload :Tilt, "tilt"
|
5
6
|
require "sprockets"
|
6
7
|
require "jekyll"
|
7
8
|
|
9
|
+
require "jekyll/assets/patches"
|
10
|
+
require "jekyll/assets/version"
|
11
|
+
|
8
12
|
module Jekyll
|
9
13
|
module Assets
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
require_relative "assets/addons"
|
14
|
+
autoload :Hook, "jekyll/assets/hook"
|
15
|
+
autoload :Cached, "jekyll/assets/cached"
|
16
|
+
autoload :Config, "jekyll/assets/config"
|
17
|
+
autoload :Logger, "jekyll/assets/logger"
|
18
|
+
autoload :Liquid, "jekyll/assets/liquid"
|
19
|
+
autoload :Env, "jekyll/assets/env"
|
20
|
+
|
21
|
+
require "jekyll/assets/hooks"
|
22
|
+
require "jekyll/assets/addons"
|
20
23
|
end
|
21
24
|
end
|
data/lib/jekyll/assets/addons.rb
CHANGED
@@ -2,9 +2,10 @@
|
|
2
2
|
# Copyright: 2012-2015 - MIT License
|
3
3
|
# Encoding: utf-8
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
require "jekyll/assets/addons/compass"
|
6
|
+
require "jekyll/assets/addons/bootstrap"
|
7
|
+
require "jekyll/assets/addons/autoprefixer"
|
8
|
+
require "jekyll/assets/addons/processors/liquid"
|
9
|
+
require "jekyll/assets/addons/proxies/magick"
|
10
|
+
require "jekyll/assets/addons/font_awesome"
|
11
|
+
require "jekyll/assets/addons/js_es6"
|
@@ -0,0 +1,31 @@
|
|
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
|
@@ -9,7 +9,9 @@ try_require "mini_magick" do
|
|
9
9
|
@two-fourths @three-fourths)
|
10
10
|
|
11
11
|
Jekyll::Assets::Env.liquid_proxies.add :magick, :img, *(args + presets) do
|
12
|
-
|
12
|
+
PRESETS = presets
|
13
|
+
ARGS = args
|
14
|
+
|
13
15
|
class DoubleResizeError < RuntimeError
|
14
16
|
def initialize
|
15
17
|
"Both resize and @*x provided, this is not supported."
|
@@ -54,14 +56,14 @@ try_require "mini_magick" do
|
|
54
56
|
|
55
57
|
private
|
56
58
|
def preset?
|
57
|
-
(@opts.keys -
|
59
|
+
(@opts.keys - ARGS.map(&:to_sym)).any?
|
58
60
|
end
|
59
61
|
|
60
62
|
#
|
61
63
|
|
62
64
|
private
|
63
65
|
def magick_quality(img)
|
64
|
-
if @opts.
|
66
|
+
if @opts.key?(:quality)
|
65
67
|
then img.quality @opts[:quality]
|
66
68
|
end
|
67
69
|
end
|
@@ -70,8 +72,8 @@ try_require "mini_magick" do
|
|
70
72
|
|
71
73
|
private
|
72
74
|
def magick_resize(img)
|
73
|
-
raise DoubleResizeError if @opts.
|
74
|
-
if @opts.
|
75
|
+
raise DoubleResizeError if @opts.key?(:resize) && preset?
|
76
|
+
if @opts.key?(:resize)
|
75
77
|
then img.resize @opts[:resize]
|
76
78
|
end
|
77
79
|
end
|
@@ -80,7 +82,7 @@ try_require "mini_magick" do
|
|
80
82
|
|
81
83
|
private
|
82
84
|
def magick_rotate(img)
|
83
|
-
if @opts.
|
85
|
+
if @opts.key?(:rotate)
|
84
86
|
then img.rotate @opts[:rotate]
|
85
87
|
end
|
86
88
|
end
|
@@ -89,7 +91,7 @@ try_require "mini_magick" do
|
|
89
91
|
|
90
92
|
private
|
91
93
|
def magick_flip(img)
|
92
|
-
if @opts.
|
94
|
+
if @opts.key?(:flip)
|
93
95
|
then img.flip @opts[:flip]
|
94
96
|
end
|
95
97
|
end
|
@@ -98,7 +100,7 @@ try_require "mini_magick" do
|
|
98
100
|
|
99
101
|
private
|
100
102
|
def magick_crop(img)
|
101
|
-
if @opts.
|
103
|
+
if @opts.key?(:crop)
|
102
104
|
then img.crop @opts[:crop]
|
103
105
|
end
|
104
106
|
end
|
data/lib/jekyll/assets/config.rb
CHANGED
@@ -9,7 +9,7 @@ module Jekyll
|
|
9
9
|
_assets/css _assets/stylesheets
|
10
10
|
_assets/images _assets/img _assets/fonts
|
11
11
|
_assets/javascripts _assets/js
|
12
|
-
)
|
12
|
+
).freeze
|
13
13
|
|
14
14
|
Development = {
|
15
15
|
"skip_baseurl_with_cdn" => false,
|
@@ -27,7 +27,7 @@ module Jekyll
|
|
27
27
|
"automatic_img_alt" => true,
|
28
28
|
"automatic_img_size" => true
|
29
29
|
}
|
30
|
-
}
|
30
|
+
}.freeze
|
31
31
|
|
32
32
|
#
|
33
33
|
|
@@ -36,16 +36,19 @@ module Jekyll
|
|
36
36
|
"compress" => {
|
37
37
|
"css" => true,
|
38
38
|
"js" => true
|
39
|
-
}
|
40
|
-
})
|
39
|
+
}
|
40
|
+
}).freeze
|
41
41
|
|
42
42
|
#
|
43
43
|
|
44
44
|
def self.merge_sources(jekyll, config)
|
45
|
-
|
46
|
-
|
45
|
+
config["sources"] ||= []
|
46
|
+
return if config["sources"].grep(/\A\s*_assets\/?\s*\Z/).size > 0
|
47
|
+
sources = DefaultSources + config["sources"].to_a
|
48
|
+
|
49
|
+
config["sources"] = Set.new(sources.map do |val|
|
47
50
|
jekyll.in_source_dir(val)
|
48
|
-
end
|
51
|
+
end)
|
49
52
|
end
|
50
53
|
|
51
54
|
#
|
@@ -57,7 +60,7 @@ module Jekyll
|
|
57
60
|
#
|
58
61
|
|
59
62
|
def self.merge(new_hash, old_hash = defaults)
|
60
|
-
old_hash.merge(new_hash) do |
|
63
|
+
old_hash.merge(new_hash) do |_, old_val, new_val|
|
61
64
|
old_val.is_a?(Hash) && new_val.is_a?(Hash) ? merge(new_val, old_val) : new_val
|
62
65
|
end
|
63
66
|
end
|
data/lib/jekyll/assets/env.rb
CHANGED
@@ -10,12 +10,21 @@ module Jekyll
|
|
10
10
|
class << self
|
11
11
|
attr_accessor :past
|
12
12
|
def liquid_proxies
|
13
|
-
|
13
|
+
Liquid::Tag::Proxies
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
17
|
#
|
18
18
|
|
19
|
+
def excludes
|
20
|
+
excludes = Set.new
|
21
|
+
excludes << strip_path(in_cache_dir)
|
22
|
+
jekyll.sprockets.asset_config["sources"].each { |path| excludes << strip_path(path) }
|
23
|
+
excludes
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
|
19
28
|
def all_unparsed_assets
|
20
29
|
@unparsed_assets ||= logical_paths.select do |(_, val)|
|
21
30
|
val.start_with?(jekyll.in_source_dir)
|
@@ -25,9 +34,8 @@ module Jekyll
|
|
25
34
|
#
|
26
35
|
|
27
36
|
def to_liquid_payload
|
28
|
-
jekyll.sprockets.all_unparsed_assets.
|
29
|
-
|
30
|
-
hsh
|
37
|
+
jekyll.sprockets.all_unparsed_assets.each_with_object({}) do |(key, val), hash|
|
38
|
+
hash[key] = Jekyll::Assets::Liquid::Drop.new(val, jekyll)
|
31
39
|
end
|
32
40
|
end
|
33
41
|
|
@@ -35,19 +43,19 @@ module Jekyll
|
|
35
43
|
|
36
44
|
def initialize(path, jekyll = nil)
|
37
45
|
jekyll, path = path, nil if path.is_a?(Jekyll::Site)
|
38
|
-
@
|
46
|
+
@jekyll = jekyll
|
47
|
+
@used = Set.new
|
39
48
|
|
40
49
|
path ? super(path) : super()
|
41
50
|
Hook.trigger :env, :init do |hook|
|
42
|
-
hook.arity > 0 || 0 > hook.arity ? hook.call(self) :
|
43
|
-
instance_eval(&hook)
|
51
|
+
hook.arity > 0 || 0 > hook.arity ? hook.call(self) : instance_eval(&hook)
|
44
52
|
end
|
45
53
|
end
|
46
54
|
|
47
55
|
#
|
48
56
|
|
49
57
|
def liquid_proxies
|
50
|
-
|
58
|
+
self.class.liquid_proxies
|
51
59
|
end
|
52
60
|
|
53
61
|
# Make sure a path falls withint our cache dir.
|
@@ -76,7 +84,7 @@ module Jekyll
|
|
76
84
|
#
|
77
85
|
|
78
86
|
def cdn?
|
79
|
-
!dev? && asset_config.
|
87
|
+
!dev? && asset_config.key?("cdn") && \
|
80
88
|
asset_config["cdn"]
|
81
89
|
end
|
82
90
|
|
@@ -101,8 +109,8 @@ module Jekyll
|
|
101
109
|
#
|
102
110
|
|
103
111
|
def compress?(what)
|
104
|
-
!!asset_config["compress"]
|
105
|
-
fetch(what, false)
|
112
|
+
!!asset_config["compress"] \
|
113
|
+
.fetch(what, false)
|
106
114
|
end
|
107
115
|
|
108
116
|
#
|
@@ -122,14 +130,15 @@ module Jekyll
|
|
122
130
|
# the baseurl and asset prefix. All of these can be adjusted.
|
123
131
|
|
124
132
|
def prefix_path(path = nil)
|
125
|
-
_baseurl = baseurl
|
126
133
|
cdn = asset_config["cdn"]
|
127
|
-
|
134
|
+
base_url = baseurl
|
135
|
+
|
136
|
+
path_ = []
|
137
|
+
path_ << base_url unless base_url.empty?
|
138
|
+
path_ << path unless path.nil?
|
128
139
|
|
129
|
-
|
130
|
-
|
131
|
-
cdn? && cdn ? File.join(cdn, *_path).chomp("/") : \
|
132
|
-
File.join(*_path).chomp("/")
|
140
|
+
url = cdn && cdn?? File.join(cdn, *path_) : File.join(*path_)
|
141
|
+
url.chomp("/")
|
133
142
|
end
|
134
143
|
|
135
144
|
#
|
@@ -151,6 +160,13 @@ module Jekyll
|
|
151
160
|
|
152
161
|
#
|
153
162
|
|
163
|
+
private
|
164
|
+
def strip_path(path)
|
165
|
+
path.sub(jekyll.in_source_dir("/"), "")
|
166
|
+
end
|
167
|
+
|
168
|
+
#
|
169
|
+
|
154
170
|
private
|
155
171
|
def as_path(v)
|
156
172
|
path = digest?? v.digest_path : v.logical_path
|