Class: Jekyll::AssetsPlugin::Configuration
- Inherits:
-
Object
- Object
- Jekyll::AssetsPlugin::Configuration
show all
- Defined in:
- lib/jekyll/assets_plugin/configuration.rb
Constant Summary
collapse
- DEFAULTS =
{
:dirname => "assets",
:sources => %w(_assets/javascripts
_assets/stylesheets
_assets/images),
:js_compressor => nil,
:css_compressor => nil,
:autosize => false,
:cachebust => :hard,
:cache => false,
:gzip => %w(text/css application/javascript),
:debug => false,
:version => 1
}.freeze
Instance Method Summary
collapse
Constructor Details
#initialize(site, config = {}) ⇒ Configuration
Returns a new instance of Configuration.
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/jekyll/assets_plugin/configuration.rb', line 22
def initialize(site, config = {})
@site = site
@data = OpenStruct.new DEFAULTS.merge(config)
@data.sources = [@data.sources] if @data.sources.is_a? String
@data.dirname = @data.dirname.gsub(%r{^/+|/+$}, "")
compress = OpenStruct.new @data.compress
@data.js_compressor ||= compress.js
@data.css_compressor ||= compress.css
@data.cache ||= @data.cache_assets
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
78
79
80
|
# File 'lib/jekyll/assets_plugin/configuration.rb', line 78
def method_missing(name, *args, &block)
@data.send name, *args, &block
end
|
Instance Method Details
#baseurl ⇒ Object
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/jekyll/assets_plugin/configuration.rb', line 36
def baseurl
unless @data.baseurl
baseurl = "/" << [@site.config["baseurl"], @data.dirname].join("/")
@data.baseurl = baseurl.squeeze("/")
end
@data.baseurl.chomp "/"
end
|
#cache_assets? ⇒ Boolean
61
62
63
|
# File 'lib/jekyll/assets_plugin/configuration.rb', line 61
def cache_assets?
@data.cache ? true : false
end
|
#cache_path ⇒ Object
65
66
67
|
# File 'lib/jekyll/assets_plugin/configuration.rb', line 65
def cache_path
@data.cache.is_a?(String) ? @data.cache : ".jekyll-assets-cache"
end
|
#cachebust ⇒ Object
55
56
57
58
59
|
# File 'lib/jekyll/assets_plugin/configuration.rb', line 55
def cachebust
return :none if none?(@data.cachebust)
return @data.cachebust.to_sym if @data.cachebust.to_s[/^(soft|hard)$/]
fail "Unknown cachebust strategy: #{@data.cachebust}"
end
|
#css_compressor ⇒ Object
51
52
53
|
# File 'lib/jekyll/assets_plugin/configuration.rb', line 51
def css_compressor
compressor @data.css_compressor
end
|
#gzip ⇒ Object
69
70
71
72
|
# File 'lib/jekyll/assets_plugin/configuration.rb', line 69
def gzip
return @data.gzip if @data.gzip.is_a? Array
@data.gzip ? DEFAULTS[:gzip] : []
end
|
#js_compressor ⇒ Object
47
48
49
|
# File 'lib/jekyll/assets_plugin/configuration.rb', line 47
def js_compressor
compressor @data.js_compressor
end
|
#version ⇒ Object
74
75
76
|
# File 'lib/jekyll/assets_plugin/configuration.rb', line 74
def version
@data.version
end
|