jekyll-srcset-tag 0.1.4 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12ba6eb88428a7083708074d59638015d0b012d8
|
4
|
+
data.tar.gz: 8fd8f97a70a2c21d072adb430ef9a598e4bedab0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 958b740d170119bb07c50a99809bda0003ce041f4755e789d663301dc177b91e4d041ef049fb08a085ce21507f01d26e55467433f6be3542d73d0fe69aa90946
|
7
|
+
data.tar.gz: 93624f3ba0dd3f08dade9097eb058b937fe7296c1027b3fda42598a6e3dc2e34aa2ec2dc5b75e377261cb157f98935e3fca602524898a62a1608fe836ea0b952
|
@@ -34,7 +34,7 @@ module Jekyll
|
|
34
34
|
|
35
35
|
def to_html
|
36
36
|
srcs = image_srcs
|
37
|
-
src = CGI.escape_html(
|
37
|
+
src = CGI.escape_html(fallback_src)
|
38
38
|
show_srcset = srcs.length > 1
|
39
39
|
srcset = CGI.escape_html(srcs.map {|path, size| "#{path} #{size}w" }.join(', '))
|
40
40
|
sizes = CGI::escape_html(source_sizes.join(', '))
|
@@ -65,7 +65,7 @@ module Jekyll
|
|
65
65
|
|
66
66
|
def output_image_paths
|
67
67
|
uniq_instances.map { |instance| File.join(output_dir, instance.filename)}
|
68
|
-
end
|
68
|
+
end
|
69
69
|
|
70
70
|
protected
|
71
71
|
|
@@ -79,16 +79,26 @@ module Jekyll
|
|
79
79
|
Instance.new width: (source.width ? (source.width.to_f * ppi).round : nil),
|
80
80
|
height: (source.height ? (source.height.to_f * ppi).round : nil),
|
81
81
|
extension: File.extname(image_path),
|
82
|
-
image: original
|
82
|
+
image: original,
|
83
|
+
fallback: source.fallback
|
83
84
|
end
|
84
85
|
end
|
85
86
|
|
86
87
|
def image_srcs
|
87
88
|
uniq_instances.map do |instance|
|
88
|
-
[
|
89
|
+
[instance_path(instance), instance.output_width.to_s]
|
89
90
|
end
|
90
91
|
end
|
91
92
|
|
93
|
+
def instance_path(instance)
|
94
|
+
File.join(web_output_dir, instance.filename)
|
95
|
+
end
|
96
|
+
|
97
|
+
def fallback_src
|
98
|
+
fallbacks = uniq_instances.select { |instance| instance.fallback }
|
99
|
+
fallbacks.empty? ? image_srcs.last[0] : instance_path(fallbacks.last)
|
100
|
+
end
|
101
|
+
|
92
102
|
def source_sizes
|
93
103
|
sources.map { |source| source.size_string }
|
94
104
|
end
|
@@ -3,16 +3,17 @@ module Jekyll
|
|
3
3
|
class Image::Instance
|
4
4
|
|
5
5
|
attr_reader :width, :height, :image, :extension, :image_width, :image_height, :output_width, :output_height,
|
6
|
-
:undersized
|
6
|
+
:undersized, :fallback
|
7
7
|
|
8
|
-
def initialize(width:, height:, extension:, image:)
|
8
|
+
def initialize(width:, height:, extension:, image:, fallback:)
|
9
9
|
@width = width
|
10
10
|
@height = height
|
11
11
|
@extension = extension
|
12
12
|
@image = image
|
13
13
|
@image_width = image[:width].to_i
|
14
14
|
@image_height = image[:height].to_i
|
15
|
-
|
15
|
+
@fallback = fallback
|
16
|
+
calculate_output_dimensions!
|
16
17
|
end
|
17
18
|
|
18
19
|
def filename
|
@@ -2,13 +2,14 @@ module Jekyll
|
|
2
2
|
module SrcsetTag
|
3
3
|
class Image::Source
|
4
4
|
|
5
|
-
attr_reader :media, :size, :width, :height
|
5
|
+
attr_reader :media, :size, :width, :height, :fallback
|
6
6
|
|
7
|
-
def initialize(width: nil, height: nil, media: nil, size: nil)
|
7
|
+
def initialize(width: nil, height: nil, media: nil, size: nil, fallback: nil)
|
8
8
|
@media = media
|
9
9
|
@size = size
|
10
10
|
@width = width
|
11
11
|
@height = height
|
12
|
+
@fallback = fallback
|
12
13
|
end
|
13
14
|
|
14
15
|
def size_string
|
@@ -38,9 +38,9 @@ module Jekyll
|
|
38
38
|
Image::Source.new(width: source.attr('width'),
|
39
39
|
height: source.attr('height'),
|
40
40
|
media: source.attr('media'),
|
41
|
-
size: source.attr('size')
|
41
|
+
size: source.attr('size'),
|
42
|
+
fallback: source.attr('fallback') == 'true')
|
42
43
|
end
|
43
|
-
|
44
44
|
end
|
45
45
|
|
46
46
|
def image(source_path, output_path, web_output_path, markup, sources)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-srcset-tag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Dew
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|