jekyll-assets 0.7.6 → 0.7.7

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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +48 -0
  3. data/Gemfile +4 -4
  4. data/Rakefile +5 -3
  5. data/lib/jekyll-assets/bootstrap.rb +6 -7
  6. data/lib/jekyll-assets/bourbon.rb +0 -1
  7. data/lib/jekyll-assets/compass.rb +2 -4
  8. data/lib/jekyll-assets/neat.rb +0 -1
  9. data/lib/jekyll/assets_plugin/asset_path.rb +1 -9
  10. data/lib/jekyll/assets_plugin/configuration.rb +18 -24
  11. data/lib/jekyll/assets_plugin/environment.rb +4 -12
  12. data/lib/jekyll/assets_plugin/filters.rb +1 -5
  13. data/lib/jekyll/assets_plugin/patches/asset_patch.rb +6 -23
  14. data/lib/jekyll/assets_plugin/patches/bundled_asset_patch.rb +1 -5
  15. data/lib/jekyll/assets_plugin/patches/context_patch.rb +2 -7
  16. data/lib/jekyll/assets_plugin/patches/index_patch.rb +2 -7
  17. data/lib/jekyll/assets_plugin/patches/processed_asset_patch.rb +19 -18
  18. data/lib/jekyll/assets_plugin/patches/site_patch.rb +11 -22
  19. data/lib/jekyll/assets_plugin/renderer.rb +7 -16
  20. data/lib/jekyll/assets_plugin/tag.rb +1 -6
  21. data/lib/jekyll/assets_plugin/version.rb +1 -1
  22. data/spec/lib/jekyll-assets/bootstrap_spec.rb +10 -10
  23. data/spec/lib/jekyll-assets/bourbon_spec.rb +0 -1
  24. data/spec/lib/jekyll-assets/compass_spec.rb +0 -1
  25. data/spec/lib/jekyll-assets/neat_spec.rb +0 -1
  26. data/spec/lib/jekyll/assets_plugin/configuration_spec.rb +30 -18
  27. data/spec/lib/jekyll/assets_plugin/environment_spec.rb +2 -3
  28. data/spec/lib/jekyll/assets_plugin/filters_spec.rb +8 -6
  29. data/spec/lib/jekyll/assets_plugin/patches/site_patch_spec.rb +13 -22
  30. data/spec/lib/jekyll/assets_plugin/renderer_spec.rb +8 -13
  31. data/spec/lib/jekyll/assets_plugin/tag_spec.rb +8 -6
  32. data/spec/spec_helper.rb +3 -7
  33. data/spec/support/fixtures_path.rb +2 -3
  34. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9f2003fb2e8cde02889613bc3abacfa0e0d80947
4
- data.tar.gz: 96eb2b56cf5aa69236d5e09c4cb6df1f52355108
3
+ metadata.gz: 8c10ed0e80b3a4beea2ca55d84e3fb90d0308a70
4
+ data.tar.gz: 3a4da62d35bac89038896162f6d78d367fd1c869
5
5
  SHA512:
6
- metadata.gz: 2eab6482a241e44ebb84d4791e00e3bdbf8f1449147acbc7f426cb48f3cedba75f94a0d3dd54b61e0cbfbfc6ff1a43b9601a8339f5e5b906ef061a9f99656265
7
- data.tar.gz: 054766f50e413169041b8dcda51f8e58f83c15c60ef213505225048d17c4d99859883e784672ad3fb82f28de520d16493a6fc66cb28cba14695a86e5fdc9334c
6
+ metadata.gz: f70e33d032f3aca16cb6d64ade3de4fb52138d46f0592be6e6f389bcc81085deb704dff05a9374ec570a78ea62c9835dc52b0f3e7d51ea712053fc00e2c8079e
7
+ data.tar.gz: 2bb58025391bef810dec0a607ef783c7899b332bb50b37773f73fdc88864bfee3d10781893a0e65f2cb74f962b62ffed6e338e211da9520f5249c906c485b3a3
@@ -0,0 +1,48 @@
1
+ # Avoid long parameter lists
2
+ ParameterLists:
3
+ Max: 3
4
+ CountKeywordArgs: true
5
+
6
+ MethodLength:
7
+ CountComments: false
8
+ Max: 15
9
+
10
+ ClassLength:
11
+ CountComments: false
12
+ Max: 100
13
+
14
+ CyclomaticComplexity:
15
+ Max: 6
16
+
17
+ EmptyLineBetweenDefs:
18
+ AllowAdjacentOneLineDefs: true
19
+
20
+ BlockNesting:
21
+ Max: 3
22
+
23
+ HashSyntax:
24
+ EnforcedStyle: hash_rockets
25
+
26
+ Encoding:
27
+ Enabled: false
28
+
29
+ StringLiterals:
30
+ EnforcedStyle: double_quotes
31
+
32
+ BracesAroundHashParameters:
33
+ Enabled: false
34
+
35
+ Documentation:
36
+ Enabled: false
37
+
38
+ # Not all trivial readers/writers can be defined with attr_* methods
39
+ TrivialAccessors:
40
+ Enabled: false
41
+
42
+ # New lambda syntax is UGLY, don't enforce it
43
+ Lambda:
44
+ Enabled: false
45
+
46
+ AllCops:
47
+ Includes:
48
+ - Gemfile
data/Gemfile CHANGED
@@ -1,11 +1,11 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
+ gem "rubocop"
3
4
 
4
5
  group :test do
5
- gem 'coveralls', :require => false
6
- gem 'simplecov', :require => false
6
+ gem "coveralls", :require => false
7
+ gem "simplecov", :require => false
7
8
  end
8
9
 
9
-
10
10
  # Specify your gem's dependencies in jekyll-assets.gemspec
11
11
  gemspec
data/Rakefile CHANGED
@@ -1,7 +1,9 @@
1
1
  require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
2
 
3
+ require "rspec/core/rake_task"
4
4
  RSpec::Core::RakeTask.new
5
5
 
6
- task :default => :spec
7
- task :test => :spec
6
+ require "rubocop/rake_task"
7
+ Rubocop::RakeTask.new
8
+
9
+ task :default => [:spec, :rubocop]
@@ -1,7 +1,6 @@
1
- require "sprockets"
2
-
3
-
4
- bootstrap = Gem::Specification.find_by_name("bootstrap-sass").gem_dir
5
- %w(fonts javascripts stylesheets).each do |asset|
6
- Sprockets.append_path File.join(bootstrap, 'vendor', 'assets', asset)
7
- end
1
+ require "sprockets"
2
+
3
+ bootstrap = Gem::Specification.find_by_name("bootstrap-sass").gem_dir
4
+ %w(fonts javascripts stylesheets).each do |asset|
5
+ Sprockets.append_path File.join(bootstrap, "vendor", "assets", asset)
6
+ end
@@ -1,5 +1,4 @@
1
1
  require "sprockets"
2
2
 
3
-
4
3
  bourbon_root = Gem::Specification.find_by_name("bourbon").gem_dir
5
4
  Sprockets.append_path File.join(bourbon_root, "app", "assets", "stylesheets")
@@ -1,9 +1,7 @@
1
1
  require "compass"
2
2
  require "sprockets"
3
3
 
4
-
5
4
  Compass::Frameworks::ALL.each do |fw|
6
- if (path = fw.stylesheets_directory)
7
- Sprockets.append_path path
8
- end
5
+ path = fw.stylesheets_directory
6
+ Sprockets.append_path path if path
9
7
  end
@@ -1,5 +1,4 @@
1
1
  require "sprockets"
2
2
 
3
-
4
3
  neat_root = Gem::Specification.find_by_name("neat").gem_dir
5
4
  Sprockets.append_path File.join(neat_root, "app", "assets", "stylesheets")
@@ -1,26 +1,21 @@
1
1
  module Jekyll
2
2
  module AssetsPlugin
3
3
  class AssetPath
4
-
5
4
  attr_writer :anchor, :query
6
5
 
7
-
8
- def initialize asset
6
+ def initialize(asset)
9
7
  asset.bundle!
10
8
  @asset = asset
11
9
  end
12
10
 
13
-
14
11
  def cachebust
15
12
  @cachebust ||= @asset.site.assets_config.cachebust
16
13
  end
17
14
 
18
-
19
15
  def path
20
16
  :hard == cachebust && @asset.digest_path || @asset.logical_path
21
17
  end
22
18
 
23
-
24
19
  def query
25
20
  query = []
26
21
 
@@ -30,16 +25,13 @@ module Jekyll
30
25
  "?#{query.join '&'}" unless query.empty?
31
26
  end
32
27
 
33
-
34
28
  def anchor
35
29
  "##{@anchor}" if @anchor
36
30
  end
37
31
 
38
-
39
32
  def to_s
40
33
  "#{@asset.site.assets_config.baseurl}/#{path}#{query}#{anchor}"
41
34
  end
42
-
43
35
  end
44
36
  end
45
37
  end
@@ -1,27 +1,28 @@
1
1
  # stdlib
2
2
  require "ostruct"
3
3
 
4
-
5
4
  module Jekyll
6
5
  module AssetsPlugin
7
6
  class Configuration
8
7
  DEFAULTS = {
9
8
  :dirname => "assets",
10
- :sources => %w{_assets/javascripts _assets/stylesheets _assets/images},
9
+ :sources => %w{ _assets/javascripts
10
+ _assets/stylesheets
11
+ _assets/images },
11
12
  :js_compressor => nil,
12
13
  :css_compressor => nil,
13
14
  :cachebust => :hard,
14
15
  :cache => false,
15
16
  :gzip => %w{ text/css application/javascript },
16
- :debug => false
17
+ :debug => false,
18
+ :version => 1
17
19
  }.freeze
18
20
 
19
-
20
- def initialize config = {}
21
+ def initialize(config = {})
21
22
  @data = OpenStruct.new DEFAULTS.merge(config)
22
23
 
23
- @data.sources = [ @data.sources ] if @data.sources.is_a? String
24
- @data.dirname = @data.dirname.gsub(/^\/+|\/+$/, "")
24
+ @data.sources = [@data.sources] if @data.sources.is_a? String
25
+ @data.dirname = @data.dirname.gsub(%r{^/+|/+$}, "")
25
26
 
26
27
  compress = OpenStruct.new @data.compress
27
28
 
@@ -30,62 +31,55 @@ module Jekyll
30
31
  @data.cache ||= @data.cache_assets
31
32
 
32
33
  # if baseurl not given - autoguess base on dirname
33
- @data.baseurl ||= "/#{@data.dirname}/".squeeze '/'
34
+ @data.baseurl ||= "/#{@data.dirname}/".squeeze "/"
34
35
  end
35
36
 
36
-
37
37
  def baseurl
38
38
  @data.baseurl.chomp "/"
39
39
  end
40
40
 
41
-
42
41
  def js_compressor
43
42
  compressor @data.js_compressor
44
43
  end
45
44
 
46
-
47
45
  def css_compressor
48
46
  compressor @data.css_compressor
49
47
  end
50
48
 
51
-
52
49
  def cachebust
53
50
  return :none if none?(@data.cachebust)
54
- return @data.cachebust.to_sym if @data.cachebust.to_s =~ /^(soft|hard)$/
55
- raise "Unknown cachebust strategy: #{@data.cachebust}"
51
+ return @data.cachebust.to_sym if @data.cachebust.to_s[/^(soft|hard)$/]
52
+ fail "Unknown cachebust strategy: #{@data.cachebust}"
56
53
  end
57
54
 
58
-
59
55
  def cache_assets?
60
56
  !!@data.cache
61
57
  end
62
58
 
63
-
64
59
  def cache_path
65
60
  @data.cache.is_a?(String) ? @data.cache : ".jekyll-assets-cache"
66
61
  end
67
62
 
68
-
69
63
  def gzip
70
64
  return @data.gzip if @data.gzip.is_a? Array
71
65
  @data.gzip ? DEFAULTS[:gzip] : []
72
66
  end
73
67
 
68
+ def version
69
+ @data.version
70
+ end
74
71
 
75
- def method_missing name, *args, &block
72
+ def method_missing(name, *args, &block)
76
73
  @data.send name, *args, &block
77
74
  end
78
75
 
76
+ private
79
77
 
80
- protected
81
-
82
-
83
- def none? val
78
+ def none?(val)
84
79
  val.to_s.empty? || "none" == val.to_s.downcase
85
80
  end
86
81
 
87
-
88
- def compressor val
82
+ def compressor(val)
89
83
  none?(val) ? nil : val.to_sym
90
84
  end
91
85
  end
@@ -1,26 +1,21 @@
1
1
  # stdlib
2
2
  require "pathname"
3
3
 
4
-
5
4
  # 3rd-party
6
5
  require "sprockets"
7
6
 
8
-
9
7
  module Jekyll
10
8
  module AssetsPlugin
11
9
  class Environment < Sprockets::Environment
12
-
13
10
  class AssetNotFound < StandardError
14
- def initialize path
11
+ def initialize(path)
15
12
  super "Couldn't find file '#{path}'"
16
13
  end
17
14
  end
18
15
 
19
-
20
16
  attr_reader :site
21
17
 
22
-
23
- def initialize site
18
+ def initialize(site)
24
19
  super site.source
25
20
 
26
21
  @site = site
@@ -43,16 +38,13 @@ module Jekyll
43
38
  context_class.send :include, Patches::ContextPatch
44
39
  end
45
40
 
46
-
47
41
  def cache_path
48
42
  Pathname.new(@site.source).join @site.assets_config.cache_path
49
43
  end
50
44
 
51
-
52
- def find_asset path, *args
53
- super or raise AssetNotFound, path
45
+ def find_asset(path, *args)
46
+ super || fail(AssetNotFound, path)
54
47
  end
55
-
56
48
  end
57
49
  end
58
50
  end
@@ -1,11 +1,9 @@
1
1
  # internal
2
- require 'jekyll/assets_plugin/renderer'
3
-
2
+ require "jekyll/assets_plugin/renderer"
4
3
 
5
4
  module Jekyll
6
5
  module AssetsPlugin
7
6
  module Filters
8
-
9
7
  %w{ asset asset_path image javascript stylesheet }.each do |name|
10
8
  module_eval <<-RUBY, __FILE__, __LINE__
11
9
  def #{name} path # def stylesheet logical_path
@@ -14,10 +12,8 @@ module Jekyll
14
12
  end # end
15
13
  RUBY
16
14
  end
17
-
18
15
  end
19
16
  end
20
17
  end
21
18
 
22
-
23
19
  Liquid::Template.register_filter Jekyll::AssetsPlugin::Filters
@@ -1,66 +1,53 @@
1
1
  # 3rd-party
2
2
  require "sprockets"
3
3
 
4
-
5
4
  module Jekyll
6
5
  module AssetsPlugin
7
6
  module Patches
8
7
  module AssetPatch
9
-
10
- def self.included base
8
+ def self.included(base)
11
9
  base.send :extend, ClassMethods
12
10
  base.send :include, InstanceMethods
13
11
  end
14
12
 
15
-
16
13
  module ClassMethods
17
-
18
14
  def mtimes
19
- @mtimes ||= Hash.new
15
+ @mtimes ||= {}
20
16
  end
21
-
22
17
  end
23
18
 
24
-
25
19
  module InstanceMethods
26
-
27
20
  attr_reader :site
28
21
 
29
-
30
22
  def jekyll_assets
31
23
  []
32
24
  end
33
25
 
34
-
35
26
  def bundle!
36
27
  site.bundle_asset! self if site
37
28
  self
38
29
  end
39
30
 
40
-
41
- def destination dest
31
+ def destination(dest)
42
32
  File.join dest, site.assets_config.dirname, filename
43
33
  end
44
34
 
45
-
46
35
  def filename
47
36
  case cachebust = site.assets_config.cachebust
48
37
  when :none, :soft then logical_path
49
38
  when :hard then digest_path
50
- else raise "Unknown cachebust strategy: #{cachebust.inspect}"
39
+ else fail "Unknown cachebust strategy: #{cachebust.inspect}"
51
40
  end
52
41
  end
53
42
 
54
-
55
43
  def modified?
56
44
  self.class.mtimes[pathname.to_s] != mtime.to_i
57
45
  end
58
46
 
59
-
60
- def write dest
47
+ def write(dest)
61
48
  dest_path = destination dest
62
49
 
63
- return false if File.exist?(dest_path) and !modified?
50
+ return false if File.exist?(dest_path) && !modified?
64
51
  self.class.mtimes[pathname.to_s] = mtime.to_i
65
52
 
66
53
  write_to dest_path
@@ -69,17 +56,13 @@ module Jekyll
69
56
  true
70
57
  end
71
58
 
72
-
73
59
  def gzip?
74
60
  site.assets_config.gzip.include? content_type
75
61
  end
76
-
77
62
  end
78
-
79
63
  end
80
64
  end
81
65
  end
82
66
  end
83
67
 
84
-
85
68
  Sprockets::Asset.send :include, Jekyll::AssetsPlugin::Patches::AssetPatch