jekyll-asset-pipeline 0.1.4 → 0.1.5
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/lib/jekyll_asset_pipeline.rb +14 -7
- data/lib/jekyll_asset_pipeline/extensions/jekyll/site_extensions.rb +15 -0
- data/lib/jekyll_asset_pipeline/extensions/liquid/liquid_block_extensions.rb +2 -1
- data/lib/jekyll_asset_pipeline/pipeline.rb +16 -2
- data/lib/jekyll_asset_pipeline/version.rb +1 -1
- metadata +2 -4
- data/lib/jekyll_asset_pipeline/extensions/jekyll/static_asset_file.rb +0 -5
- data/lib/jekyll_asset_pipeline/extensions/jekyll/static_file_extensions.rb +0 -8
@@ -10,8 +10,6 @@ require 'jekyll'
|
|
10
10
|
require 'liquid'
|
11
11
|
|
12
12
|
# Jekyll extensions
|
13
|
-
require 'jekyll_asset_pipeline/extensions/jekyll/static_file_extensions'
|
14
|
-
require 'jekyll_asset_pipeline/extensions/jekyll/static_asset_file'
|
15
13
|
require 'jekyll_asset_pipeline/extensions/jekyll/site_extensions'
|
16
14
|
require 'jekyll_asset_pipeline/extensions/jekyll/site'
|
17
15
|
|
@@ -37,11 +35,20 @@ require 'jekyll_asset_pipeline/pipeline'
|
|
37
35
|
module JekyllAssetPipeline
|
38
36
|
# Default configuration settings for Jekyll Asset Pipeline
|
39
37
|
# Strings used for keys to play nice when merging with _config.yml
|
38
|
+
#
|
39
|
+
# 'output_path' Destination for bundle file (within the '_site' directory)
|
40
|
+
# 'display_path' Optional. Override path to assets for output HTML refs
|
41
|
+
# 'staging_path' Destination for staged assets (within project root directory)
|
42
|
+
# 'bundle' true = Bundle assets, false = Leave assets unbundled
|
43
|
+
# 'compress' true = Minify assets, false = Leave assets unminified
|
44
|
+
# 'gzip' true = Create gzip versions, false = Do not create gzip versions
|
45
|
+
#
|
40
46
|
DEFAULTS = {
|
41
|
-
'output_path' => 'assets',
|
42
|
-
'display_path' => nil,
|
43
|
-
'
|
44
|
-
'
|
45
|
-
'
|
47
|
+
'output_path' => 'assets',
|
48
|
+
'display_path' => nil,
|
49
|
+
'staging_path' => '.asset_pipeline',
|
50
|
+
'bundle' => true,
|
51
|
+
'compress' => true,
|
52
|
+
'gzip' => false
|
46
53
|
}
|
47
54
|
end
|
@@ -15,6 +15,21 @@ module JekyllAssetPipeline
|
|
15
15
|
|
16
16
|
original_return_val
|
17
17
|
end
|
18
|
+
|
19
|
+
# Store the original Jekyll::Site#write method
|
20
|
+
old_write_method = instance_method(:write)
|
21
|
+
|
22
|
+
# Override Jekyll::Site#write
|
23
|
+
define_method(:write) do
|
24
|
+
# Run the Jekyll::Site#write method
|
25
|
+
original_return_value = old_write_method.bind(self).call()
|
26
|
+
|
27
|
+
# Clear Jekyll Asset Pipeline staged assets
|
28
|
+
config = self.config['asset_pipeline'] || {}
|
29
|
+
Pipeline.remove_staged_assets(self.source, config)
|
30
|
+
|
31
|
+
original_return_value
|
32
|
+
end
|
18
33
|
end
|
19
34
|
end
|
20
35
|
end
|
@@ -21,7 +21,8 @@ module JekyllAssetPipeline
|
|
21
21
|
if pipeline.is_a?(Pipeline)
|
22
22
|
# Prevent Jekyll from cleaning up saved assets if new pipeline
|
23
23
|
pipeline.assets.each do |asset|
|
24
|
-
|
24
|
+
config = JekyllAssetPipeline::DEFAULTS.merge(config)
|
25
|
+
site.static_files << Jekyll::StaticFile.new(site, config['staging_path'],
|
25
26
|
asset.output_path, asset.filename)
|
26
27
|
end unless cached
|
27
28
|
|
@@ -58,6 +58,20 @@ module JekyllAssetPipeline
|
|
58
58
|
@cache = {}
|
59
59
|
end
|
60
60
|
|
61
|
+
# Remove staged assets
|
62
|
+
def remove_staged_assets(source, config)
|
63
|
+
begin
|
64
|
+
config = DEFAULTS.merge(config)
|
65
|
+
staging_path = File.join(source, config['staging_path'])
|
66
|
+
FileUtils.rm_rf(staging_path)
|
67
|
+
rescue Exception => e
|
68
|
+
puts "Failed to remove staged assets."
|
69
|
+
|
70
|
+
# Re-raise the exception
|
71
|
+
raise e
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
61
75
|
# Add prefix to output
|
62
76
|
def puts(message)
|
63
77
|
$stdout.puts("Asset Pipeline: #{message}")
|
@@ -179,10 +193,10 @@ module JekyllAssetPipeline
|
|
179
193
|
# Save assets to file
|
180
194
|
def save
|
181
195
|
output_path = @options['output_path']
|
196
|
+
staging_path = @options['staging_path']
|
182
197
|
|
183
198
|
@assets.each do |asset|
|
184
|
-
|
185
|
-
directory = File.join(@destination, output_path)
|
199
|
+
directory = File.join(@source, staging_path, output_path)
|
186
200
|
FileUtils::mkpath(directory) unless File.directory?(directory)
|
187
201
|
|
188
202
|
begin
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-asset-pipeline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
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:
|
12
|
+
date: 2013-01-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jekyll
|
@@ -88,8 +88,6 @@ files:
|
|
88
88
|
- lib/jekyll_asset_pipeline/converter.rb
|
89
89
|
- lib/jekyll_asset_pipeline/extensions/jekyll/site.rb
|
90
90
|
- lib/jekyll_asset_pipeline/extensions/jekyll/site_extensions.rb
|
91
|
-
- lib/jekyll_asset_pipeline/extensions/jekyll/static_asset_file.rb
|
92
|
-
- lib/jekyll_asset_pipeline/extensions/jekyll/static_file_extensions.rb
|
93
91
|
- lib/jekyll_asset_pipeline/extensions/liquid/asset_tag.rb
|
94
92
|
- lib/jekyll_asset_pipeline/extensions/liquid/asset_tags/css_asset_tag.rb
|
95
93
|
- lib/jekyll_asset_pipeline/extensions/liquid/asset_tags/javascript_asset_tag.rb
|