japr 0.2.3 → 0.2.4
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/README.md +1 -1
- data/lib/japr/asset.rb +3 -2
- data/lib/japr/compressor.rb +1 -1
- data/lib/japr/converter.rb +2 -1
- data/lib/japr/extensions/jekyll/site_extensions.rb +3 -3
- data/lib/japr/extensions/liquid/liquid_block_extensions.rb +6 -3
- data/lib/japr/pipeline.rb +13 -16
- data/lib/japr/templates/css_tag_template.rb +1 -1
- data/lib/japr/templates/javascript_tag_template.rb +1 -1
- data/lib/japr/version.rb +1 -1
- metadata +28 -18
- checksums.yaml +0 -15
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# JAPR (Jekyll Asset Pipeline Reborn)
|
2
2
|
|
3
|
-
[](http://badge.fury.io/rb/japr) [](https://travis-ci.org/kitsched/japr) [](https://coveralls.io/r/kitsched/japr) [](https://gemnasium.com/kitsched/japr) [](https://codeclimate.com/github/kitsched/japr)
|
3
|
+
[](http://badge.fury.io/rb/japr) [](https://travis-ci.org/kitsched/japr) [](https://coveralls.io/r/kitsched/japr?branch=master) [](https://gemnasium.com/kitsched/japr) [](https://codeclimate.com/github/kitsched/japr)
|
4
4
|
|
5
5
|
JAPR is a powerful asset pipeline that automatically collects, converts and compresses / minifies your site's JavaScript and CSS assets when you compile your Jekyll site.
|
6
6
|
|
data/lib/japr/asset.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
module JAPR
|
2
2
|
class Asset
|
3
|
-
def initialize(content, filename)
|
3
|
+
def initialize(content, filename, dirname = '.')
|
4
4
|
@content = content
|
5
5
|
@filename = filename
|
6
|
+
@dirname = dirname
|
6
7
|
end
|
7
8
|
|
8
|
-
attr_accessor :content, :filename, :output_path
|
9
|
+
attr_accessor :content, :filename, :dirname, :output_path
|
9
10
|
end
|
10
11
|
end
|
data/lib/japr/compressor.rb
CHANGED
data/lib/japr/converter.rb
CHANGED
@@ -8,7 +8,7 @@ module JAPR
|
|
8
8
|
# Override Jekyll::Site#cleanup
|
9
9
|
define_method(:cleanup) do
|
10
10
|
# Run the Jekyll::Site#cleanup method
|
11
|
-
original_return_val = old_cleanup_method.bind(self).call
|
11
|
+
original_return_val = old_cleanup_method.bind(self).call
|
12
12
|
|
13
13
|
# Clear Jekyll Asset Pipeline cache
|
14
14
|
Pipeline.clear_cache
|
@@ -22,11 +22,11 @@ module JAPR
|
|
22
22
|
# Override Jekyll::Site#write
|
23
23
|
define_method(:write) do
|
24
24
|
# Run the Jekyll::Site#write method
|
25
|
-
original_return_value = old_write_method.bind(self).call
|
25
|
+
original_return_value = old_write_method.bind(self).call
|
26
26
|
|
27
27
|
# Clear Jekyll Asset Pipeline staged assets
|
28
28
|
config = self.config['asset_pipeline'] || {}
|
29
|
-
Pipeline.remove_staged_assets(
|
29
|
+
Pipeline.remove_staged_assets(source, config)
|
30
30
|
|
31
31
|
original_return_value
|
32
32
|
end
|
@@ -15,8 +15,10 @@ module JAPR
|
|
15
15
|
config = site.config['asset_pipeline'] || {}
|
16
16
|
|
17
17
|
# Run Jekyll Asset Pipeline
|
18
|
-
pipeline, cached = Pipeline.run(@nodelist.first, @markup.strip,
|
19
|
-
|
18
|
+
pipeline, cached = Pipeline.run(@nodelist.first, @markup.strip,
|
19
|
+
site.source, site.dest,
|
20
|
+
self.class.tag_name,
|
21
|
+
self.class.output_type, config)
|
20
22
|
|
21
23
|
if pipeline.is_a?(Pipeline)
|
22
24
|
# Prevent Jekyll from cleaning up saved assets if new pipeline
|
@@ -24,7 +26,8 @@ module JAPR
|
|
24
26
|
config = JAPR::DEFAULTS.merge(config)
|
25
27
|
staging_path = File.expand_path(File.join(site.source, config['staging_path']))
|
26
28
|
site.static_files << Jekyll::StaticFile.new(site, staging_path,
|
27
|
-
|
29
|
+
asset.output_path,
|
30
|
+
asset.filename)
|
28
31
|
end unless cached
|
29
32
|
|
30
33
|
# Return HTML tag pointing to asset
|
data/lib/japr/pipeline.rb
CHANGED
@@ -5,7 +5,7 @@ module JAPR
|
|
5
5
|
def hash(source, manifest, options = {})
|
6
6
|
options = DEFAULTS.merge(options)
|
7
7
|
begin
|
8
|
-
Digest::MD5.hexdigest(YAML
|
8
|
+
Digest::MD5.hexdigest(YAML.load(manifest).map! do |path|
|
9
9
|
"#{path}#{File.mtime(File.join(source, path)).to_i}"
|
10
10
|
end.join.concat(options.to_s))
|
11
11
|
rescue Exception => e
|
@@ -20,7 +20,7 @@ module JAPR
|
|
20
20
|
hash = hash(source, manifest, config)
|
21
21
|
|
22
22
|
# Check if pipeline has been cached
|
23
|
-
if cache.
|
23
|
+
if cache.key?(hash)
|
24
24
|
# Return cached pipeline and cached status
|
25
25
|
return cache[hash], true
|
26
26
|
else
|
@@ -28,7 +28,7 @@ module JAPR
|
|
28
28
|
puts "Processing '#{tag}' manifest '#{prefix}'"
|
29
29
|
|
30
30
|
# Create and process new pipeline
|
31
|
-
pipeline =
|
31
|
+
pipeline = new(manifest, prefix, source, destination, type, config)
|
32
32
|
pipeline.assets.each do |asset|
|
33
33
|
puts "Saved '#{asset.filename}' to '#{destination}/#{asset.output_path}'"
|
34
34
|
end
|
@@ -60,16 +60,14 @@ module JAPR
|
|
60
60
|
|
61
61
|
# Remove staged assets
|
62
62
|
def remove_staged_assets(source, config)
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
FileUtils.rm_rf(staging_path)
|
63
|
+
config = DEFAULTS.merge(config)
|
64
|
+
staging_path = File.join(source, config['staging_path'])
|
65
|
+
FileUtils.rm_rf(staging_path)
|
67
66
|
rescue Exception => e
|
68
67
|
puts "Failed to remove staged assets."
|
69
68
|
|
70
69
|
# Re-raise the exception
|
71
70
|
raise e
|
72
|
-
end
|
73
71
|
end
|
74
72
|
|
75
73
|
# Add prefix to output
|
@@ -107,16 +105,15 @@ module JAPR
|
|
107
105
|
|
108
106
|
# Collect assets based on manifest
|
109
107
|
def collect
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
end
|
108
|
+
@assets = YAML.load(@manifest).map! do |path|
|
109
|
+
full_path = File.join(@source, path)
|
110
|
+
File.open(File.join(@source, path)) do |file|
|
111
|
+
JAPR::Asset.new(file.read, File.basename(path), File.dirname(full_path))
|
115
112
|
end
|
113
|
+
end
|
116
114
|
rescue Exception => e
|
117
115
|
puts "Asset Pipeline: Failed to load assets from provided manifest."
|
118
116
|
raise e
|
119
|
-
end
|
120
117
|
end
|
121
118
|
|
122
119
|
# Convert assets based on the file extension if converter is defined
|
@@ -186,7 +183,7 @@ module JAPR
|
|
186
183
|
def gzip
|
187
184
|
@assets.map! do |asset|
|
188
185
|
gzip_content = Zlib::Deflate.deflate(asset.content)
|
189
|
-
[asset, JAPR::Asset.new(gzip_content, "#{asset.filename}.gz")]
|
186
|
+
[asset, JAPR::Asset.new(gzip_content, "#{asset.filename}.gz", asset.dirname)]
|
190
187
|
end.flatten!
|
191
188
|
end
|
192
189
|
|
@@ -197,7 +194,7 @@ module JAPR
|
|
197
194
|
|
198
195
|
@assets.each do |asset|
|
199
196
|
directory = File.join(@source, staging_path, output_path)
|
200
|
-
FileUtils
|
197
|
+
FileUtils.mkpath(directory) unless File.directory?(directory)
|
201
198
|
|
202
199
|
begin
|
203
200
|
# Save file to disk
|
data/lib/japr/version.rb
CHANGED
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: japr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Matt Hodan
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2014-
|
12
|
+
date: 2014-03-07 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: jekyll
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: liquid
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ~>
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: rake
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: minitest
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ~>
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,11 +70,12 @@ dependencies:
|
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ~>
|
67
76
|
- !ruby/object:Gem::Version
|
68
77
|
version: '5.2'
|
69
|
-
description:
|
78
|
+
description: Jekyll Asset Pipeline reborn adds asset preprocessing (CoffeeScript,
|
70
79
|
Sass, Less, ERB, etc.) and asset compression/minification/gzip (Yahoo YUI Compressor,
|
71
80
|
Google Closure Compiler, etc.) to Jekyll.
|
72
81
|
email: japr@clicktrackheart.com
|
@@ -74,47 +83,48 @@ executables: []
|
|
74
83
|
extensions: []
|
75
84
|
extra_rdoc_files: []
|
76
85
|
files:
|
77
|
-
- LICENSE
|
78
|
-
- README.md
|
79
|
-
- lib/japr.rb
|
80
|
-
- lib/japr/asset.rb
|
81
86
|
- lib/japr/compressor.rb
|
82
87
|
- lib/japr/converter.rb
|
83
|
-
- lib/japr/
|
84
|
-
- lib/japr/
|
85
|
-
- lib/japr/
|
86
|
-
- lib/japr/
|
88
|
+
- lib/japr/templates/javascript_tag_template.rb
|
89
|
+
- lib/japr/templates/css_tag_template.rb
|
90
|
+
- lib/japr/version.rb
|
91
|
+
- lib/japr/template.rb
|
87
92
|
- lib/japr/extensions/liquid/asset_tags/javascript_asset_tag.rb
|
93
|
+
- lib/japr/extensions/liquid/asset_tags/css_asset_tag.rb
|
94
|
+
- lib/japr/extensions/liquid/asset_tag.rb
|
88
95
|
- lib/japr/extensions/liquid/liquid_block_extensions.rb
|
96
|
+
- lib/japr/extensions/jekyll/site_extensions.rb
|
97
|
+
- lib/japr/extensions/jekyll/site.rb
|
89
98
|
- lib/japr/extensions/ruby/subclass_tracking.rb
|
90
99
|
- lib/japr/pipeline.rb
|
91
|
-
- lib/japr/
|
92
|
-
- lib/japr
|
93
|
-
-
|
94
|
-
-
|
100
|
+
- lib/japr/asset.rb
|
101
|
+
- lib/japr.rb
|
102
|
+
- LICENSE
|
103
|
+
- README.md
|
95
104
|
homepage: https://github.com/kitsched/japr
|
96
105
|
licenses:
|
97
106
|
- MIT
|
98
|
-
metadata: {}
|
99
107
|
post_install_message:
|
100
108
|
rdoc_options: []
|
101
109
|
require_paths:
|
102
110
|
- lib
|
103
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
112
|
+
none: false
|
104
113
|
requirements:
|
105
114
|
- - ! '>='
|
106
115
|
- !ruby/object:Gem::Version
|
107
116
|
version: 1.9.3
|
108
117
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
|
+
none: false
|
109
119
|
requirements:
|
110
120
|
- - ! '>='
|
111
121
|
- !ruby/object:Gem::Version
|
112
122
|
version: '0'
|
113
123
|
requirements: []
|
114
124
|
rubyforge_project:
|
115
|
-
rubygems_version:
|
125
|
+
rubygems_version: 1.8.24
|
116
126
|
signing_key:
|
117
|
-
specification_version:
|
127
|
+
specification_version: 3
|
118
128
|
summary: A powerful asset pipeline for Jekyll that bundles, converts, and minifies
|
119
129
|
CSS and JavaScript assets.
|
120
130
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
MjRiOTE0NjFhNzVmZWUwMzBjYWIyYTVjNWQwZmI4ZjY1YzZmN2JiMQ==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
OTVlYTQ1MTI0MTA4YTRmNTg0MWI2MmZiNGFiNGZlOWFlOTlhZTllMQ==
|
7
|
-
SHA512:
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
YmFkZmY2ODZmODNkNDJkOWExMzg1NTM3Y2FkZDZmYWI3Yjc4ZDk3MTM3MzU4
|
10
|
-
MTM1Y2Y3MTIwMTBhNWE2NWE3YTNjNTM5YmI3M2QzMDU2NmNiMTIyNzA2MjY4
|
11
|
-
OWMxODljYmZiZmIzOTk3ZTg3M2U4OTMwZTJiY2QwZGVhNjYzYjk=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NGFlYTU2ZTEyN2JhYjY5Y2M3ZDMwZThhOWVmODgyNjMwYmYzNTE5MDA1ZDUw
|
14
|
-
YjczOTAwMzliMTVkZGJkZWU4Zjk0MDc0ODI0MzdjNDM2YmNkOTZlYTUzMWM5
|
15
|
-
ZGM3MWM1YTMzNDU4NzVhYzQ4Mjc3MTlhMjA1NWU1ZTBiNTAzMjM=
|