Module: Jekyll::Favicon::StaticFile::Convertible
Overview
Create static file based on a source file
Instance Method Summary
collapse
base_name_to_parts, camelcase_to_snakecase, define_defaults, included, load_defaults, load_file
Instance Method Details
#convert ⇒ Object
17
18
19
20
21
22
|
# File 'lib/jekyll/favicon/static_file/convertible.rb', line 17
def convert
convert_defaults = convertible_defaults.dig File.extname(path), @extname
convert_normalized = convert_normalize convert_spec
convert_consolidated = Utils.merge convert_defaults, convert_normalized
patch convert_patch(convert_consolidated || {})
end
|
#convert_odd_source? ⇒ Boolean
33
34
35
36
|
# File 'lib/jekyll/favicon/static_file/convertible.rb', line 33
def convert_odd_source?
img = MiniMagick::Image.open path
Utils.odd? img.dimensions
end
|
#convert_size(size, separator = "x") ⇒ Object
38
39
40
41
42
|
# File 'lib/jekyll/favicon/static_file/convertible.rb', line 38
def convert_size(size, separator = "x")
return size unless convert_odd_source? || Utils.odd?(size)
min_dimension = size.split(separator).min
[min_dimension, min_dimension].join(separator)
end
|
#convertible? ⇒ Boolean
13
14
15
|
# File 'lib/jekyll/favicon/static_file/convertible.rb', line 13
def convertible?
convert.any? || convert_allow_empty?
end
|
#convertible_patch(configuration) ⇒ Object
24
25
26
27
28
29
30
31
|
# File 'lib/jekyll/favicon/static_file/convertible.rb', line 24
def convertible_patch(configuration)
Utils.patch configuration do |value|
case value
when :sizes then sizes.join " "
else value
end
end
end
|
#modified? ⇒ Boolean
Jekyll::StaticFile method asks if dest mtime is older than source mtime after original modified?
54
55
56
|
# File 'lib/jekyll/favicon/static_file/convertible.rb', line 54
def modified?
super || self.class.mtimes.fetch(href, -1) < mtime
end
|
#sizes ⇒ Object
44
45
46
47
48
49
50
|
# File 'lib/jekyll/favicon/static_file/convertible.rb', line 44
def sizes
if (match = Utils.name_to_size(name)) then [match[1]]
elsif (define = Utils.define_to_size(convert_spec["define"])) then define
elsif (resize = convert_spec["resize"]) then [resize]
elsif (size = convert_spec["size"]) then [size]
end
end
|
#write(dest) ⇒ Object
Jekyll::StaticFile method adds dest mtime to list after original write
60
61
62
|
# File 'lib/jekyll/favicon/static_file/convertible.rb', line 60
def write(dest)
super(dest) && self.class.mtimes[href] = mtime
end
|