jekyll_picture_tag 1.12.0 → 1.13.0
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +78 -3
- data/docs/devs/releases.md +6 -0
- data/docs/users/liquid_tag/examples.md +12 -0
- data/docs/users/presets/cropping.md +3 -3
- data/docs/users/presets/image_quality.md +69 -7
- data/docs/users/presets/quality_width_graph.png +0 -0
- data/jekyll_picture_tag.gemspec +4 -4
- data/lib/jekyll_picture_tag.rb +3 -5
- data/lib/jekyll_picture_tag/images.rb +3 -0
- data/lib/jekyll_picture_tag/{generated_image.rb → images/generated_image.rb} +7 -20
- data/lib/jekyll_picture_tag/{img_uri.rb → images/img_uri.rb} +0 -0
- data/lib/jekyll_picture_tag/{source_image.rb → images/source_image.rb} +0 -0
- data/lib/jekyll_picture_tag/instructions/preset.rb +18 -3
- data/lib/jekyll_picture_tag/router.rb +2 -2
- data/lib/jekyll_picture_tag/utils.rb +14 -0
- data/lib/jekyll_picture_tag/version.rb +1 -1
- data/readme.md +8 -11
- metadata +17 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46fd8634e4d9eff8493b340560d84e8a398eb77db81a511529f0b670f111de7c
|
4
|
+
data.tar.gz: 103f00baec1839e018094b5c3d3522ecff13849e3bda46353ddde9e70e2040fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14afd21d6a1cd36bac48b20e79047e1df845b458e763d0eb590125fa45dd2eef431cc27836f22073878d807dc5118787f40fe8b2ffc15579bd6edf4c70f0411b
|
7
|
+
data.tar.gz: bd9131318cd312b340ff337db88127c9b8b14f78c2bfc64ec04dd6f9d27db87a08d36a59bf5aa550f51ede5c2a6b9cdda8554c60f2cecc64db5e914a1f28a84f
|
data/.rubocop.yml
CHANGED
@@ -1,6 +1,81 @@
|
|
1
|
+
# Disabled
|
1
2
|
Style/FrozenStringLiteralComment:
|
2
3
|
Enabled: false
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
5
|
+
Style/StringConcatenation:
|
6
|
+
Enabled: false
|
7
|
+
|
8
|
+
# New cops, enabled. We aren't using the 'NewCops' setting because then rubocop
|
9
|
+
# updates can break our CI.
|
10
|
+
Layout/EmptyLinesAroundAttributeAccessor:
|
11
|
+
Enabled: true
|
12
|
+
Layout/SpaceAroundMethodCallOperator:
|
13
|
+
Enabled: true
|
14
|
+
Lint/BinaryOperatorWithIdenticalOperands:
|
15
|
+
Enabled: true
|
16
|
+
Lint/DeprecatedOpenSSLConstant:
|
17
|
+
Enabled: true
|
18
|
+
Lint/DuplicateElsifCondition:
|
19
|
+
Enabled: true
|
20
|
+
Lint/DuplicateRescueException:
|
21
|
+
Enabled: true
|
22
|
+
Lint/EmptyConditionalBody:
|
23
|
+
Enabled: true
|
24
|
+
Lint/FloatComparison:
|
25
|
+
Enabled: true
|
26
|
+
Lint/MissingSuper:
|
27
|
+
Enabled: true
|
28
|
+
Lint/MixedRegexpCaptureTypes:
|
29
|
+
Enabled: true
|
30
|
+
Lint/OutOfRangeRegexpRef:
|
31
|
+
Enabled: true
|
32
|
+
Lint/RaiseException:
|
33
|
+
Enabled: true
|
34
|
+
Lint/SelfAssignment:
|
35
|
+
Enabled: true
|
36
|
+
Lint/StructNewOverride:
|
37
|
+
Enabled: true
|
38
|
+
Lint/TopLevelReturnWithArgument:
|
39
|
+
Enabled: true
|
40
|
+
Lint/UnreachableLoop:
|
41
|
+
Enabled: true
|
42
|
+
Style/AccessorGrouping:
|
43
|
+
Enabled: true
|
44
|
+
Style/ArrayCoercion:
|
45
|
+
Enabled: true
|
46
|
+
Style/BisectedAttrAccessor:
|
47
|
+
Enabled: true
|
48
|
+
Style/CaseLikeIf:
|
49
|
+
Enabled: true
|
50
|
+
Style/ExplicitBlockArgument:
|
51
|
+
Enabled: true
|
52
|
+
Style/ExponentialNotation:
|
53
|
+
Enabled: true
|
54
|
+
Style/GlobalStdStream:
|
55
|
+
Enabled: true
|
56
|
+
Style/HashAsLastArrayItem:
|
57
|
+
Enabled: true
|
58
|
+
Style/HashEachMethods:
|
59
|
+
Enabled: true
|
60
|
+
Style/HashLikeCase:
|
61
|
+
Enabled: true
|
62
|
+
Style/HashTransformKeys:
|
63
|
+
Enabled: true
|
64
|
+
Style/HashTransformValues:
|
65
|
+
Enabled: true
|
66
|
+
Style/OptionalBooleanParameter:
|
67
|
+
Enabled: true
|
68
|
+
Style/RedundantAssignment:
|
69
|
+
Enabled: true
|
70
|
+
Style/RedundantFetchBlock:
|
71
|
+
Enabled: true
|
72
|
+
Style/RedundantFileExtensionInRequire:
|
73
|
+
Enabled: true
|
74
|
+
Style/RedundantRegexpCharacterClass:
|
75
|
+
Enabled: true
|
76
|
+
Style/RedundantRegexpEscape:
|
77
|
+
Enabled: true
|
78
|
+
Style/SingleArgumentDig:
|
79
|
+
Enabled: true
|
80
|
+
Style/SlicingWithRange:
|
81
|
+
Enabled: true
|
data/docs/devs/releases.md
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
---
|
2
2
|
---
|
3
3
|
# Release History
|
4
|
+
* 1.13.0 November 23, 2020
|
5
|
+
* Add image quality interpolation; allows for variable image quality based on image size.
|
6
|
+
* Bugfix: Perform format, resize, and quality changes simultaneously rather than individually.
|
7
|
+
* Allows for actual lossless webp: simply set quality to 100.
|
8
|
+
* Improves fresh (no cached images) build times by ~15%
|
9
|
+
* Fix problems with poor image quality.
|
4
10
|
* 1.12.0 July 30, 2020
|
5
11
|
* Documentation overhaul. Now with 87% less scrolling!
|
6
12
|
* Rename `markup_presets` and `media_presets` to `presets` and
|
@@ -35,6 +35,18 @@
|
|
35
35
|
```
|
36
36
|
{% picture blog_index {{ post.image }} --link {{ post.url }} %}
|
37
37
|
```
|
38
|
+
N.B. If the image path is coming from a liquid variable then you have two problems to guard against.
|
39
|
+
* __Spaces__: you need to wrap the inner tag in "" to stop a path with spaces being interpretted as two or more arguments:
|
40
|
+
```
|
41
|
+
{% picture blog_index "{{ post.image }}" %}
|
42
|
+
```
|
43
|
+
* __Nulls & Blanks__: you need to wrap whole tag in a logic block to stop an uncaught Liquid exception:
|
44
|
+
```
|
45
|
+
{% if post.image && post.image != "" %}
|
46
|
+
{% picture blog_index "{{ post.image }}" %}
|
47
|
+
{% endif %}
|
48
|
+
```
|
49
|
+
|
38
50
|
|
39
51
|
* Add arbitrary HTML attributes:
|
40
52
|
```
|
@@ -4,16 +4,61 @@ sort: 6
|
|
4
4
|
|
5
5
|
# Image Quality
|
6
6
|
|
7
|
+
Image quality can be as simple as a constant for all images, or can be varied based on image width
|
8
|
+
and output format.
|
9
|
+
|
10
|
+
```note
|
11
|
+
For lossless webp images, set quality to 100.
|
12
|
+
```
|
13
|
+
|
14
|
+
|
7
15
|
## Quality
|
8
16
|
|
17
|
+
### Constant
|
18
|
+
|
9
19
|
_Format:_ `quality: 0 <= integer <= 100`
|
10
20
|
|
11
21
|
_Example:_ `quality: 80`
|
12
22
|
|
13
23
|
_Default:_ `75`
|
14
24
|
|
15
|
-
Specify an image compression level for all image formats
|
16
|
-
|
25
|
+
Specify an image compression level for all widths, all image formats.
|
26
|
+
|
27
|
+
### Variable
|
28
|
+
|
29
|
+
_Format:_
|
30
|
+
|
31
|
+
```yaml
|
32
|
+
quality:
|
33
|
+
(image width): (quality setting)
|
34
|
+
(image width): (quality setting)
|
35
|
+
```
|
36
|
+
|
37
|
+
_Example:_
|
38
|
+
|
39
|
+
```yaml
|
40
|
+
quality:
|
41
|
+
1000: 65
|
42
|
+
300: 100
|
43
|
+
```
|
44
|
+
|
45
|
+
Set a variable image quality, based on image width. Provide exactly 2 image widths and associated
|
46
|
+
quality settings. Quality will be calculated as follows:
|
47
|
+
|
48
|
+
* For images smaller than the lowest image width, the setting for the lowest width is used.
|
49
|
+
* For images larger than the highest image width, the setting for the highest width is used.
|
50
|
+
* For images in between the 2, the quality setting will be linearly interpolated to some value in
|
51
|
+
between.
|
52
|
+
|
53
|
+

|
54
|
+
|
55
|
+
Using this setting, you can get away with more compression on high pixel density screens without
|
56
|
+
sacrificing image quality for low-density screens. Taking the example settings above:
|
57
|
+
|
58
|
+
* A 1500px image will use a quality of 65.
|
59
|
+
* A 200px image will use a quality of 100.
|
60
|
+
* A 500px image will use a quality of 90.
|
61
|
+
|
17
62
|
|
18
63
|
## Format Quality
|
19
64
|
|
@@ -25,6 +70,14 @@ sort: 6
|
|
25
70
|
(...)
|
26
71
|
```
|
27
72
|
|
73
|
+
```yaml
|
74
|
+
format_quality:
|
75
|
+
(format):
|
76
|
+
(image width): (quality setting)
|
77
|
+
(image width): (quality setting)
|
78
|
+
```
|
79
|
+
|
80
|
+
|
28
81
|
_Example:_
|
29
82
|
|
30
83
|
```yaml
|
@@ -34,10 +87,19 @@ sort: 6
|
|
34
87
|
webp: 55
|
35
88
|
```
|
36
89
|
|
90
|
+
```yaml
|
91
|
+
format_quality:
|
92
|
+
jpg:
|
93
|
+
1000: 65
|
94
|
+
300: 100
|
95
|
+
(...)
|
96
|
+
```
|
97
|
+
|
37
98
|
_Default:_ quality setting
|
38
99
|
|
39
|
-
Specify quality settings for various image formats, allowing you to take
|
40
|
-
|
41
|
-
|
42
|
-
it'll
|
43
|
-
|
100
|
+
Specify quality settings for various image formats, allowing you to take advantage of webp's
|
101
|
+
better compression algorithm without trashing your jpg images (for example). If you don't give a
|
102
|
+
setting for a particular format it'll fall back to the `quality` setting above, and if you don't
|
103
|
+
set _that_ it'll default to 75.
|
104
|
+
|
105
|
+
Note that this setting can accept the same variable quality setting format as the basic `quality` setting.
|
Binary file
|
data/jekyll_picture_tag.gemspec
CHANGED
@@ -33,14 +33,14 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_development_dependency 'nokogiri', '~> 1.10'
|
34
34
|
spec.add_development_dependency 'pry'
|
35
35
|
spec.add_development_dependency 'rake', '~> 12.3'
|
36
|
-
spec.add_development_dependency 'rubocop'
|
36
|
+
spec.add_development_dependency 'rubocop', '~> 0.8'
|
37
37
|
spec.add_development_dependency 'simplecov'
|
38
38
|
spec.add_development_dependency 'solargraph'
|
39
39
|
|
40
40
|
spec.add_dependency 'addressable', '~> 2.6'
|
41
|
-
spec.add_dependency 'mime-types', '~> 3'
|
42
|
-
spec.add_dependency 'mini_magick', '~> 4'
|
43
|
-
spec.add_dependency 'objective_elements', '~> 1.1
|
41
|
+
spec.add_dependency 'mime-types', '~> 3.0'
|
42
|
+
spec.add_dependency 'mini_magick', '~> 4.0'
|
43
|
+
spec.add_dependency 'objective_elements', '~> 1.1'
|
44
44
|
|
45
45
|
spec.add_runtime_dependency 'jekyll', '< 5'
|
46
46
|
end
|
data/lib/jekyll_picture_tag.rb
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
require 'jekyll'
|
2
2
|
require 'objective_elements'
|
3
3
|
|
4
|
-
require_relative 'jekyll_picture_tag/
|
4
|
+
require_relative 'jekyll_picture_tag/cache'
|
5
|
+
require_relative 'jekyll_picture_tag/images'
|
5
6
|
require_relative 'jekyll_picture_tag/instructions'
|
6
7
|
require_relative 'jekyll_picture_tag/output_formats'
|
7
|
-
require_relative 'jekyll_picture_tag/
|
8
|
+
require_relative 'jekyll_picture_tag/router'
|
8
9
|
require_relative 'jekyll_picture_tag/srcsets'
|
9
10
|
require_relative 'jekyll_picture_tag/utils'
|
10
|
-
require_relative 'jekyll_picture_tag/img_uri'
|
11
|
-
require_relative 'jekyll_picture_tag/router'
|
12
|
-
require_relative 'jekyll_picture_tag/cache'
|
13
11
|
|
14
12
|
# Title: Jekyll Picture Tag
|
15
13
|
# Authors: Rob Wierzbowski : @robwierzbowski
|
@@ -35,8 +35,8 @@ module PictureTag
|
|
35
35
|
@name ||= "#{@source.base_name}-#{@width}-#{id}.#{@format}"
|
36
36
|
end
|
37
37
|
|
38
|
-
# https://example.com/assets/
|
39
|
-
#
|
38
|
+
# https://example.com/assets/somefolder/myimage-100-123abc.jpg
|
39
|
+
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
40
40
|
def uri
|
41
41
|
ImgURI.new(name).to_s
|
42
42
|
end
|
@@ -103,25 +103,8 @@ module PictureTag
|
|
103
103
|
|
104
104
|
def generate_image
|
105
105
|
puts 'Generating new image file: ' + name
|
106
|
-
process_image
|
107
|
-
write_image
|
108
|
-
end
|
109
|
-
|
110
|
-
def quality
|
111
|
-
PictureTag.quality(@format)
|
112
|
-
end
|
113
|
-
|
114
|
-
def process_image
|
115
|
-
image.combine_options do |i|
|
116
|
-
i.resize "#{@width}x"
|
117
|
-
i.strip
|
118
|
-
end
|
119
106
|
|
120
|
-
image.format @
|
121
|
-
image.quality quality
|
122
|
-
end
|
123
|
-
|
124
|
-
def write_image
|
107
|
+
image.format(@format, 0, { resize: "#{@width}x", quality: quality })
|
125
108
|
FileUtils.mkdir_p(File.dirname(absolute_filename))
|
126
109
|
|
127
110
|
image.write absolute_filename
|
@@ -129,6 +112,10 @@ module PictureTag
|
|
129
112
|
FileUtils.chmod(0o644, absolute_filename)
|
130
113
|
end
|
131
114
|
|
115
|
+
def quality
|
116
|
+
PictureTag.quality(@format, @width)
|
117
|
+
end
|
118
|
+
|
132
119
|
def process_format(format)
|
133
120
|
if format.casecmp('original').zero?
|
134
121
|
@source.ext
|
File without changes
|
File without changes
|
@@ -40,9 +40,24 @@ module PictureTag
|
|
40
40
|
setting_lookup('widths', 'media', media)
|
41
41
|
end
|
42
42
|
|
43
|
-
# Image quality setting
|
44
|
-
def quality(format = nil)
|
45
|
-
setting_lookup('quality', 'format', format)
|
43
|
+
# Image quality setting. Surprisingly complicated; can depend on both format and width.
|
44
|
+
def quality(format = nil, width = nil)
|
45
|
+
setting = setting_lookup('quality', 'format', format)
|
46
|
+
|
47
|
+
return setting unless setting.is_a? Hash
|
48
|
+
|
49
|
+
parse_quality_hash(setting, width)
|
50
|
+
end
|
51
|
+
|
52
|
+
def parse_quality_hash(points, width)
|
53
|
+
# The points can be given in any order.
|
54
|
+
low, high = *points.keys.map(&:to_i).sort
|
55
|
+
|
56
|
+
case width
|
57
|
+
when 0..low then points[low]
|
58
|
+
when low..high then Utils.interpolate(points.keys, points.values, width)
|
59
|
+
when high..999_999 then points[high]
|
60
|
+
end
|
46
61
|
end
|
47
62
|
|
48
63
|
# Gravity setting (for imagemagick cropping)
|
@@ -63,6 +63,20 @@ module PictureTag
|
|
63
63
|
def titleize(input)
|
64
64
|
input.split('_').map(&:capitalize).join
|
65
65
|
end
|
66
|
+
|
67
|
+
# Linear interpolator. Pass it 2 values in the x array, 2 values
|
68
|
+
# in the y array, and an x value, returns a y value.
|
69
|
+
def interpolate(xvals, yvals, xval)
|
70
|
+
xvals.map!(&:to_f)
|
71
|
+
yvals.map!(&:to_f)
|
72
|
+
|
73
|
+
# Slope
|
74
|
+
m = (yvals.last - yvals.first) / (xvals.last - xvals.first)
|
75
|
+
# Value of y when x=0
|
76
|
+
b = yvals.first - (m * xvals.first)
|
77
|
+
# y = mx + b
|
78
|
+
(m * xval) + b
|
79
|
+
end
|
66
80
|
end
|
67
81
|
end
|
68
82
|
end
|
data/readme.md
CHANGED
@@ -39,24 +39,21 @@ https://rbuchberger.github.io/jekyll_picture_tag/
|
|
39
39
|
|
40
40
|
## Changelog:
|
41
41
|
|
42
|
-
https://rbuchberger.github.io/jekyll_picture_tag/releases
|
42
|
+
https://rbuchberger.github.io/jekyll_picture_tag/devs/releases
|
43
43
|
|
44
44
|
Latest versions:
|
45
45
|
|
46
|
-
* 1.
|
47
|
-
*
|
48
|
-
*
|
49
|
-
|
50
|
-
*
|
51
|
-
|
52
|
-
* Cache image information between builds
|
53
|
-
* Change image naming format. This update will trigger all images to be regenerated, so you may
|
54
|
-
want to delete your generated images folder beforehand.
|
46
|
+
* 1.13.0 November 23, 2020
|
47
|
+
* Add image quality interpolation; allows for variable image quality based on image size.
|
48
|
+
* Bugfix: Perform format, resize, and quality changes simultaneously rather than individually.
|
49
|
+
* Allows for actual lossless webp: simply set quality to 100.
|
50
|
+
* Improves fresh (no cached images) build times by ~15%
|
51
|
+
* Fix problems with poor image quality.
|
55
52
|
|
56
53
|
## Help Wanted
|
57
54
|
|
58
55
|
Writing code is only part of the job; often the harder part is knowing what needs to be changed. Any
|
59
56
|
and all feedback is greatly appreciated, especially in regards to documentation. What are your pain
|
60
57
|
points? See the [contributing
|
61
|
-
guidelines](https://rbuchberger.github.io/jekyll_picture_tag/contributing), or the
|
58
|
+
guidelines](https://rbuchberger.github.io/jekyll_picture_tag/devs/contributing), or the
|
62
59
|
[issues](https://github.com/rbuchberger/jekyll_picture_tag/issues) page for more.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll_picture_tag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Wierzbowski
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-
|
13
|
+
date: 2020-11-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -100,16 +100,16 @@ dependencies:
|
|
100
100
|
name: rubocop
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
|
-
- - "
|
103
|
+
- - "~>"
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: '0'
|
105
|
+
version: '0.8'
|
106
106
|
type: :development
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
|
-
- - "
|
110
|
+
- - "~>"
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: '0'
|
112
|
+
version: '0.8'
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: simplecov
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
@@ -158,42 +158,42 @@ dependencies:
|
|
158
158
|
requirements:
|
159
159
|
- - "~>"
|
160
160
|
- !ruby/object:Gem::Version
|
161
|
-
version: '3'
|
161
|
+
version: '3.0'
|
162
162
|
type: :runtime
|
163
163
|
prerelease: false
|
164
164
|
version_requirements: !ruby/object:Gem::Requirement
|
165
165
|
requirements:
|
166
166
|
- - "~>"
|
167
167
|
- !ruby/object:Gem::Version
|
168
|
-
version: '3'
|
168
|
+
version: '3.0'
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
170
|
name: mini_magick
|
171
171
|
requirement: !ruby/object:Gem::Requirement
|
172
172
|
requirements:
|
173
173
|
- - "~>"
|
174
174
|
- !ruby/object:Gem::Version
|
175
|
-
version: '4'
|
175
|
+
version: '4.0'
|
176
176
|
type: :runtime
|
177
177
|
prerelease: false
|
178
178
|
version_requirements: !ruby/object:Gem::Requirement
|
179
179
|
requirements:
|
180
180
|
- - "~>"
|
181
181
|
- !ruby/object:Gem::Version
|
182
|
-
version: '4'
|
182
|
+
version: '4.0'
|
183
183
|
- !ruby/object:Gem::Dependency
|
184
184
|
name: objective_elements
|
185
185
|
requirement: !ruby/object:Gem::Requirement
|
186
186
|
requirements:
|
187
187
|
- - "~>"
|
188
188
|
- !ruby/object:Gem::Version
|
189
|
-
version: 1.1
|
189
|
+
version: '1.1'
|
190
190
|
type: :runtime
|
191
191
|
prerelease: false
|
192
192
|
version_requirements: !ruby/object:Gem::Requirement
|
193
193
|
requirements:
|
194
194
|
- - "~>"
|
195
195
|
- !ruby/object:Gem::Version
|
196
|
-
version: 1.1
|
196
|
+
version: '1.1'
|
197
197
|
- !ruby/object:Gem::Dependency
|
198
198
|
name: jekyll
|
199
199
|
requirement: !ruby/object:Gem::Requirement
|
@@ -284,6 +284,7 @@ files:
|
|
284
284
|
- docs/users/presets/media_queries.md
|
285
285
|
- docs/users/presets/nomarkdown_override.md
|
286
286
|
- docs/users/presets/pixel_ratio_srcsets.md
|
287
|
+
- docs/users/presets/quality_width_graph.png
|
287
288
|
- docs/users/presets/width_height_attributes.md
|
288
289
|
- docs/users/presets/width_srcsets.md
|
289
290
|
- jekyll-picture-tag.gemspec
|
@@ -296,8 +297,10 @@ files:
|
|
296
297
|
- lib/jekyll_picture_tag/cache/source.rb
|
297
298
|
- lib/jekyll_picture_tag/defaults/global.yml
|
298
299
|
- lib/jekyll_picture_tag/defaults/presets.yml
|
299
|
-
- lib/jekyll_picture_tag/
|
300
|
-
- lib/jekyll_picture_tag/
|
300
|
+
- lib/jekyll_picture_tag/images.rb
|
301
|
+
- lib/jekyll_picture_tag/images/generated_image.rb
|
302
|
+
- lib/jekyll_picture_tag/images/img_uri.rb
|
303
|
+
- lib/jekyll_picture_tag/images/source_image.rb
|
301
304
|
- lib/jekyll_picture_tag/instructions.rb
|
302
305
|
- lib/jekyll_picture_tag/instructions/arg_splitter.rb
|
303
306
|
- lib/jekyll_picture_tag/instructions/configuration.rb
|
@@ -318,7 +321,6 @@ files:
|
|
318
321
|
- lib/jekyll_picture_tag/output_formats/picture.rb
|
319
322
|
- lib/jekyll_picture_tag/output_formats/readme.md
|
320
323
|
- lib/jekyll_picture_tag/router.rb
|
321
|
-
- lib/jekyll_picture_tag/source_image.rb
|
322
324
|
- lib/jekyll_picture_tag/srcsets.rb
|
323
325
|
- lib/jekyll_picture_tag/srcsets/basic.rb
|
324
326
|
- lib/jekyll_picture_tag/srcsets/pixel_ratio.rb
|