jekyll_picture_tag 1.12.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.envrc +4 -0
  3. data/.github/workflows/code-checks.yml +33 -0
  4. data/.gitignore +3 -0
  5. data/.rubocop.yml +31 -3
  6. data/.ruby-version +1 -1
  7. data/docs/.envrc +2 -0
  8. data/docs/devs/contributing/code.md +14 -4
  9. data/docs/devs/contributing/docs.md +24 -6
  10. data/docs/devs/contributing/setup.md +21 -1
  11. data/docs/devs/contributing/testing.md +19 -37
  12. data/docs/devs/releases.md +45 -4
  13. data/docs/index.md +43 -18
  14. data/docs/logo.png +0 -0
  15. data/docs/logo.svg +880 -0
  16. data/docs/users/configuration/disable.md +1 -1
  17. data/docs/users/configuration/ignore_missing.md +1 -1
  18. data/docs/users/configuration/kramdown_fix.md +1 -1
  19. data/docs/users/configuration/suppress_warnings.md +1 -1
  20. data/docs/users/configuration/urls.md +69 -0
  21. data/docs/users/deployment.md +49 -0
  22. data/docs/users/getting_started.md +55 -0
  23. data/docs/users/installation.md +18 -38
  24. data/docs/users/liquid_tag/argument_reference/crop.md +21 -36
  25. data/docs/users/liquid_tag/examples.md +12 -12
  26. data/docs/users/liquid_tag/index.md +1 -1
  27. data/docs/users/notes/{migration.md → migration_1.md} +1 -1
  28. data/docs/users/notes/migration_2.md +99 -0
  29. data/docs/users/presets/cropping.md +24 -25
  30. data/docs/users/presets/default.md +11 -2
  31. data/docs/users/presets/examples.md +77 -45
  32. data/docs/users/presets/fallback_image.md +1 -1
  33. data/docs/users/presets/html_attributes.md +1 -1
  34. data/docs/users/presets/image_formats.md +3 -3
  35. data/docs/users/presets/image_quality.md +96 -19
  36. data/docs/users/presets/index.md +19 -45
  37. data/docs/users/presets/link_source.md +1 -1
  38. data/docs/users/presets/media_queries.md +1 -1
  39. data/docs/users/presets/nomarkdown_override.md +1 -1
  40. data/docs/users/presets/pixel_ratio_srcsets.md +1 -1
  41. data/docs/users/presets/quality_width_graph.png +0 -0
  42. data/docs/users/presets/width_height_attributes.md +1 -1
  43. data/docs/users/presets/width_srcsets.md +61 -23
  44. data/docs/users/presets/writing_presets.md +65 -0
  45. data/docs/users/tutorial.md +97 -0
  46. data/jekyll_picture_tag.gemspec +38 -23
  47. data/lib/jekyll_picture_tag.rb +11 -10
  48. data/lib/jekyll_picture_tag/cache.rb +64 -3
  49. data/lib/jekyll_picture_tag/defaults/global.rb +18 -0
  50. data/lib/jekyll_picture_tag/defaults/presets.rb +57 -0
  51. data/lib/jekyll_picture_tag/images.rb +4 -0
  52. data/lib/jekyll_picture_tag/images/generated_image.rb +92 -0
  53. data/lib/jekyll_picture_tag/images/image_file.rb +104 -0
  54. data/lib/jekyll_picture_tag/{img_uri.rb → images/img_uri.rb} +3 -10
  55. data/lib/jekyll_picture_tag/{source_image.rb → images/source_image.rb} +44 -9
  56. data/lib/jekyll_picture_tag/instructions.rb +70 -6
  57. data/lib/jekyll_picture_tag/instructions/children/config.rb +128 -0
  58. data/lib/jekyll_picture_tag/instructions/children/context.rb +24 -0
  59. data/lib/jekyll_picture_tag/instructions/children/params.rb +90 -0
  60. data/lib/jekyll_picture_tag/instructions/children/parsers.rb +48 -0
  61. data/lib/jekyll_picture_tag/instructions/children/preset.rb +182 -0
  62. data/lib/jekyll_picture_tag/instructions/parents/conditional_instruction.rb +69 -0
  63. data/lib/jekyll_picture_tag/instructions/parents/env_instruction.rb +29 -0
  64. data/lib/jekyll_picture_tag/output_formats/basic.rb +5 -17
  65. data/lib/jekyll_picture_tag/parsers.rb +6 -0
  66. data/lib/jekyll_picture_tag/{instructions → parsers}/arg_splitter.rb +1 -1
  67. data/lib/jekyll_picture_tag/parsers/configuration.rb +28 -0
  68. data/lib/jekyll_picture_tag/{instructions → parsers}/html_attributes.rb +1 -1
  69. data/lib/jekyll_picture_tag/parsers/image_backend.rb +33 -0
  70. data/lib/jekyll_picture_tag/parsers/preset.rb +43 -0
  71. data/lib/jekyll_picture_tag/{instructions → parsers}/tag_parser.rb +15 -12
  72. data/lib/jekyll_picture_tag/router.rb +35 -93
  73. data/lib/jekyll_picture_tag/srcsets/basic.rb +4 -10
  74. data/lib/jekyll_picture_tag/utils.rb +24 -20
  75. data/lib/jekyll_picture_tag/version.rb +1 -1
  76. data/readme.md +46 -15
  77. metadata +168 -85
  78. data/.travis.yml +0 -8
  79. data/Dockerfile +0 -9
  80. data/docs/users/configuration/cdn.md +0 -35
  81. data/docs/users/configuration/relative_urls.md +0 -15
  82. data/docs/users/notes/input_checking.md +0 -6
  83. data/jekyll-picture-tag.gemspec +0 -52
  84. data/lib/jekyll-picture-tag.rb +0 -25
  85. data/lib/jekyll_picture_tag/cache/base.rb +0 -59
  86. data/lib/jekyll_picture_tag/cache/generated.rb +0 -20
  87. data/lib/jekyll_picture_tag/cache/source.rb +0 -19
  88. data/lib/jekyll_picture_tag/defaults/global.yml +0 -11
  89. data/lib/jekyll_picture_tag/defaults/presets.yml +0 -11
  90. data/lib/jekyll_picture_tag/generated_image.rb +0 -140
  91. data/lib/jekyll_picture_tag/instructions/configuration.rb +0 -121
  92. data/lib/jekyll_picture_tag/instructions/preset.rb +0 -107
  93. data/lib/jekyll_picture_tag/instructions/set.rb +0 -75
@@ -53,11 +53,11 @@ module PictureTag
53
53
  end
54
54
 
55
55
  def width_attribute
56
- files.first.source_width.to_s
56
+ source_image.width.to_s
57
57
  end
58
58
 
59
59
  def height_attribute
60
- files.first.source_height.to_s
60
+ source_image.height.to_s
61
61
  end
62
62
 
63
63
  private
@@ -86,11 +86,7 @@ module PictureTag
86
86
  end
87
87
 
88
88
  def source_width
89
- @source_width ||= if PictureTag.crop(@media)
90
- target_files.first.source_width
91
- else
92
- @source_image.width
93
- end
89
+ source_image.width
94
90
  end
95
91
 
96
92
  def target_files
@@ -112,9 +108,7 @@ module PictureTag
112
108
  GeneratedImage.new(
113
109
  source_file: @source_image,
114
110
  width: width,
115
- format: @input_format,
116
- crop: PictureTag.crop(@media),
117
- gravity: PictureTag.gravity(@media)
111
+ format: @input_format
118
112
  )
119
113
  end
120
114
  end
@@ -2,28 +2,10 @@ module PictureTag
2
2
  # This is a little module to hold logic that doesn't fit other places. If it
3
3
  # starts getting big, refactor.
4
4
  module Utils
5
- # These are valid ImageMagick gravity arguments (relevant to our use
6
- # case):
7
- GRAVITIES =
8
- %w[center
9
- north
10
- northeast
11
- east
12
- southeast
13
- south
14
- southwest
15
- west
16
- northwest].freeze
17
-
18
- # This is an attempt to recognize valid imagemagick geometry arguments
19
- # with regex. It only tries to match values which don't preserve aspect
20
- # ratio, as they're the ones people might actually need here.
21
- GEOMETRY_REGEX = /\A\d*%?[x:]?\d*[%!]?([+-]\d+){,2}\Z/i.freeze
22
-
23
5
  class << self
24
6
  # Configure Jekyll to keep our generated files
25
7
  def keep_files
26
- dest_dir = PictureTag.config['picture']['output']
8
+ dest_dir = PictureTag.pconfig['output']
27
9
 
28
10
  # Chop a slash off the end, if it's there. Doesn't work otherwise.
29
11
  dest_dir = dest_dir[0..-2] if dest_dir =~ %r{/\z}
@@ -35,7 +17,7 @@ module PictureTag
35
17
 
36
18
  # Print a warning to the console
37
19
  def warning(message)
38
- return if PictureTag.config['picture']['suppress_warnings']
20
+ return if PictureTag.pconfig['suppress_warnings']
39
21
 
40
22
  warn 'Jekyll Picture Tag Warning: '.yellow + message
41
23
  end
@@ -63,6 +45,28 @@ module PictureTag
63
45
  def titleize(input)
64
46
  input.split('_').map(&:capitalize).join
65
47
  end
48
+
49
+ def snakeize(input)
50
+ input.scan(/[A-Z][a-z]+/).map(&:downcase).join('_')
51
+ end
52
+
53
+ # Linear interpolator. Pass it 2 values in the x array, 2 values
54
+ # in the y array, and an x value, returns a y value.
55
+ def interpolate(xvals, yvals, xval)
56
+ xvals.map!(&:to_f)
57
+ yvals.map!(&:to_f)
58
+
59
+ # Slope
60
+ m = (yvals.last - yvals.first) / (xvals.last - xvals.first)
61
+ # Value of y when x=0
62
+ b = yvals.first - (m * xvals.first)
63
+ # y = mx + b
64
+ (m * xval) + b
65
+ end
66
+
67
+ def aspect_float(width, height)
68
+ width.to_f / height
69
+ end
66
70
  end
67
71
  end
68
72
  end
@@ -1,3 +1,3 @@
1
1
  module PictureTag
2
- VERSION = '1.12.0'.freeze
2
+ VERSION = '2.0.1'.freeze
3
3
  end
data/readme.md CHANGED
@@ -1,5 +1,9 @@
1
+ ![Logo](docs/logo.svg)
2
+
1
3
  # Jekyll Picture Tag
2
4
 
5
+ ![Tests & Formatting](https://github.com/rbuchberger/jekyll_picture_tag/workflows/Tests%20&%20Formatting/badge.svg)
6
+
3
7
  **Responsive Images done correctly.**
4
8
 
5
9
  It's simple to throw a photo on a page and call it a day, but doing justice to users on all
@@ -24,7 +28,7 @@ different image entirely.
24
28
 
25
29
  **Developer Sanity:** If you want to serve multiple images in multiple formats and resolutions, you
26
30
  have a litany of markup to write and a big pile of images to generate and organize. Jekyll Picture
27
- Tag is your responsive images minion - give it simple instructions and it'll handle the rest.
31
+ Tag is your responsive images minion - give it simple instructions and it'll handle the rest.
28
32
 
29
33
  ## Features
30
34
 
@@ -39,24 +43,51 @@ https://rbuchberger.github.io/jekyll_picture_tag/
39
43
 
40
44
  ## Changelog:
41
45
 
42
- https://rbuchberger.github.io/jekyll_picture_tag/releases
43
-
44
- Latest versions:
45
-
46
- * 1.10.1 July 2, 2020
47
- * Bugfix for erroneously regenerated images
48
- * 1.10.2 July 6, 2020
49
- * Bugfix for fallback image files not actually getting generated
50
- * 1.11.0 July 27, 2020
51
- * **Width and height attribute support!** Begone, page reflow.
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
+ https://rbuchberger.github.io/jekyll_picture_tag/devs/releases
47
+
48
+ Recent releases:
49
+
50
+ * 2.0.1 March 31, 2021
51
+ * Select imagemagick deliberately when appropriate, rather than simply rescuing all vips errors
52
+ and trying again. This will stop JPT from suppressing useful vips errors.
53
+ * **2.0** March 25, 2021 - [Migration guide](https://rbuchberger.github.io/jekyll_picture_tag/users/notes/migration_2)
54
+ * Switch from ImageMagick to libvips.
55
+ * 🚀🔥🔥**MUCH MORE FASTER**🔥🔥🚀
56
+ * Will still attempt to use imagemagick if libvips cannot handle a
57
+ particular image format.
58
+ * Eliminate the ImageMagick v7 on Ubuntu pain we've been dealing with for so
59
+ long.
60
+ * Require Ruby >= 2.6, support Ruby 3.0
61
+ * Require Jekyll >= 4.0
62
+ * Cropping is changing.
63
+ * We now use the libvips
64
+ [smartcrop function](https://www.rubydoc.info/gems/ruby-vips/Vips/Image#smartcrop-instance_method),
65
+ which does some magic to keep the most useful part of the image.
66
+ * Geometry is renamed to 'crop', and reduced to simple aspect ratios only. (`width:height`)
67
+ * Gravity is gone, replaced by 'keep' which is translated to a libvips
68
+ [interestingness](https://www.rubydoc.info/gems/ruby-vips/Vips/Interesting) setting.
69
+ * Add stock presets and media queries, under the `jpt-` prefix.
70
+ * Add `format_quality` default settings for webp, avif, and jp2.
71
+ * Add image-format-specific write options.
72
+ * Overhaul user input handling; we can now validate inputs and give error
73
+ messages which are less useless. Stronger validation and nicer errors will be added in future
74
+ releases.
75
+ * Drop support for `markup_presets` and `media_presets`. They are now
76
+ officially and only `presets` and `media_queries`.
77
+ * Improve docs with an introductory tutorial and 'how-to' flow.
78
+
79
+ * 1.14.0 January 10, 2021
80
+ * Gracefully handle empty tag arguments.
81
+ * Re-add metadata stripping. I removed it inadvertently when refactoring; now
82
+ there's a test and a setting to turn it off.
83
+ * Respect Jekyll's `--disable-disk-cache` argument.
84
+ * Add baseurl configuration, allowing increased plugin support (such as I18n via `jekyll-multiple-languages-plugin`)
85
+ * Tooling & test suite maintenance and improvements.
55
86
 
56
87
  ## Help Wanted
57
88
 
58
89
  Writing code is only part of the job; often the harder part is knowing what needs to be changed. Any
59
90
  and all feedback is greatly appreciated, especially in regards to documentation. What are your pain
60
91
  points? See the [contributing
61
- guidelines](https://rbuchberger.github.io/jekyll_picture_tag/contributing), or the
92
+ guidelines](https://rbuchberger.github.io/jekyll_picture_tag/devs/contributing), or the
62
93
  [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.12.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Wierzbowski
@@ -10,66 +10,122 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-07-29 00:00:00.000000000 Z
13
+ date: 2021-03-31 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: bundler
16
+ name: addressable
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '2.0'
22
- type: :development
21
+ version: '2.6'
22
+ type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '2.0'
28
+ version: '2.6'
29
29
  - !ruby/object:Gem::Dependency
30
- name: minitest
30
+ name: jekyll
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '5.11'
36
- type: :development
35
+ version: '4.0'
36
+ type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '5.11'
42
+ version: '4.0'
43
43
  - !ruby/object:Gem::Dependency
44
- name: mocha
44
+ name: mime-types
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '1.9'
49
+ version: '3.0'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '3.0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: objective_elements
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '1.1'
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '1.1'
71
+ - !ruby/object:Gem::Dependency
72
+ name: rainbow
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: '3.0'
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: '3.0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: ruby-vips
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: 2.0.17
92
+ type: :runtime
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: 2.0.17
99
+ - !ruby/object:Gem::Dependency
100
+ name: bundler
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: '2.0'
50
106
  type: :development
51
107
  prerelease: false
52
108
  version_requirements: !ruby/object:Gem::Requirement
53
109
  requirements:
54
110
  - - "~>"
55
111
  - !ruby/object:Gem::Version
56
- version: '1.9'
112
+ version: '2.0'
57
113
  - !ruby/object:Gem::Dependency
58
- name: nokogiri
114
+ name: minitest
59
115
  requirement: !ruby/object:Gem::Requirement
60
116
  requirements:
61
117
  - - "~>"
62
118
  - !ruby/object:Gem::Version
63
- version: '1.10'
119
+ version: '5.14'
64
120
  type: :development
65
121
  prerelease: false
66
122
  version_requirements: !ruby/object:Gem::Requirement
67
123
  requirements:
68
124
  - - "~>"
69
125
  - !ruby/object:Gem::Version
70
- version: '1.10'
126
+ version: '5.14'
71
127
  - !ruby/object:Gem::Dependency
72
- name: pry
128
+ name: minitest-rg
73
129
  requirement: !ruby/object:Gem::Requirement
74
130
  requirements:
75
131
  - - ">="
@@ -83,35 +139,35 @@ dependencies:
83
139
  - !ruby/object:Gem::Version
84
140
  version: '0'
85
141
  - !ruby/object:Gem::Dependency
86
- name: rake
142
+ name: mocha
87
143
  requirement: !ruby/object:Gem::Requirement
88
144
  requirements:
89
145
  - - "~>"
90
146
  - !ruby/object:Gem::Version
91
- version: '12.3'
147
+ version: '1.9'
92
148
  type: :development
93
149
  prerelease: false
94
150
  version_requirements: !ruby/object:Gem::Requirement
95
151
  requirements:
96
152
  - - "~>"
97
153
  - !ruby/object:Gem::Version
98
- version: '12.3'
154
+ version: '1.9'
99
155
  - !ruby/object:Gem::Dependency
100
- name: rubocop
156
+ name: nokogiri
101
157
  requirement: !ruby/object:Gem::Requirement
102
158
  requirements:
103
- - - ">="
159
+ - - "~>"
104
160
  - !ruby/object:Gem::Version
105
- version: '0'
161
+ version: '1.1'
106
162
  type: :development
107
163
  prerelease: false
108
164
  version_requirements: !ruby/object:Gem::Requirement
109
165
  requirements:
110
- - - ">="
166
+ - - "~>"
111
167
  - !ruby/object:Gem::Version
112
- version: '0'
168
+ version: '1.1'
113
169
  - !ruby/object:Gem::Dependency
114
- name: simplecov
170
+ name: pry
115
171
  requirement: !ruby/object:Gem::Requirement
116
172
  requirements:
117
173
  - - ">="
@@ -125,110 +181,124 @@ dependencies:
125
181
  - !ruby/object:Gem::Version
126
182
  version: '0'
127
183
  - !ruby/object:Gem::Dependency
128
- name: solargraph
184
+ name: rake
129
185
  requirement: !ruby/object:Gem::Requirement
130
186
  requirements:
131
- - - ">="
187
+ - - "~>"
132
188
  - !ruby/object:Gem::Version
133
- version: '0'
189
+ version: '12.3'
134
190
  type: :development
135
191
  prerelease: false
136
192
  version_requirements: !ruby/object:Gem::Requirement
137
193
  requirements:
138
- - - ">="
194
+ - - "~>"
139
195
  - !ruby/object:Gem::Version
140
- version: '0'
196
+ version: '12.3'
141
197
  - !ruby/object:Gem::Dependency
142
- name: addressable
198
+ name: rubocop
143
199
  requirement: !ruby/object:Gem::Requirement
144
200
  requirements:
145
201
  - - "~>"
146
202
  - !ruby/object:Gem::Version
147
- version: '2.6'
148
- type: :runtime
203
+ version: 1.7.0
204
+ type: :development
149
205
  prerelease: false
150
206
  version_requirements: !ruby/object:Gem::Requirement
151
207
  requirements:
152
208
  - - "~>"
153
209
  - !ruby/object:Gem::Version
154
- version: '2.6'
210
+ version: 1.7.0
155
211
  - !ruby/object:Gem::Dependency
156
- name: mime-types
212
+ name: rubocop-minitest
157
213
  requirement: !ruby/object:Gem::Requirement
158
214
  requirements:
159
215
  - - "~>"
160
216
  - !ruby/object:Gem::Version
161
- version: '3'
162
- type: :runtime
217
+ version: 0.10.0
218
+ type: :development
163
219
  prerelease: false
164
220
  version_requirements: !ruby/object:Gem::Requirement
165
221
  requirements:
166
222
  - - "~>"
167
223
  - !ruby/object:Gem::Version
168
- version: '3'
224
+ version: 0.10.0
169
225
  - !ruby/object:Gem::Dependency
170
- name: mini_magick
226
+ name: rubocop-performance
171
227
  requirement: !ruby/object:Gem::Requirement
172
228
  requirements:
173
229
  - - "~>"
174
230
  - !ruby/object:Gem::Version
175
- version: '4'
176
- type: :runtime
231
+ version: 1.9.0
232
+ type: :development
177
233
  prerelease: false
178
234
  version_requirements: !ruby/object:Gem::Requirement
179
235
  requirements:
180
236
  - - "~>"
181
237
  - !ruby/object:Gem::Version
182
- version: '4'
238
+ version: 1.9.0
183
239
  - !ruby/object:Gem::Dependency
184
- name: objective_elements
240
+ name: rubocop-rake
185
241
  requirement: !ruby/object:Gem::Requirement
186
242
  requirements:
187
243
  - - "~>"
188
244
  - !ruby/object:Gem::Version
189
- version: 1.1.2
190
- type: :runtime
245
+ version: 0.5.0
246
+ type: :development
191
247
  prerelease: false
192
248
  version_requirements: !ruby/object:Gem::Requirement
193
249
  requirements:
194
250
  - - "~>"
195
251
  - !ruby/object:Gem::Version
196
- version: 1.1.2
252
+ version: 0.5.0
197
253
  - !ruby/object:Gem::Dependency
198
- name: jekyll
254
+ name: simplecov
199
255
  requirement: !ruby/object:Gem::Requirement
200
256
  requirements:
201
- - - "<"
257
+ - - "~>"
202
258
  - !ruby/object:Gem::Version
203
- version: '5'
204
- type: :runtime
259
+ version: 0.20.0
260
+ type: :development
205
261
  prerelease: false
206
262
  version_requirements: !ruby/object:Gem::Requirement
207
263
  requirements:
208
- - - "<"
264
+ - - "~>"
265
+ - !ruby/object:Gem::Version
266
+ version: 0.20.0
267
+ - !ruby/object:Gem::Dependency
268
+ name: solargraph
269
+ requirement: !ruby/object:Gem::Requirement
270
+ requirements:
271
+ - - ">="
209
272
  - !ruby/object:Gem::Version
210
- version: '5'
273
+ version: '0'
274
+ type: :development
275
+ prerelease: false
276
+ version_requirements: !ruby/object:Gem::Requirement
277
+ requirements:
278
+ - - ">="
279
+ - !ruby/object:Gem::Version
280
+ version: '0'
211
281
  description: |2
212
- Jekyll Picture Tag is a liquid tag that adds responsive images to your
213
- Jekyll static site.Jekyll Picture Tag automatically creates resized source
214
- images, is fully configurable, and covers all use cases including art
215
- direction and resolution switching — with a little YAML configuration and a
216
- simple template tag.
282
+ Jekyll Picture Tag adds responsive images to your Jekyll static site. It
283
+ automatically creates resized source images, is fully configurable, and
284
+ covers all use cases, including art direction and resolution switching, with
285
+ a little YAML configuration and a simple template tag.
217
286
  email:
218
287
  - robert@buchberger.cc
219
288
  executables: []
220
289
  extensions: []
221
290
  extra_rdoc_files: []
222
291
  files:
292
+ - ".envrc"
293
+ - ".github/workflows/code-checks.yml"
223
294
  - ".gitignore"
224
295
  - ".rubocop.yml"
225
296
  - ".ruby-version"
226
297
  - ".solargraph.yml"
227
- - ".travis.yml"
228
- - Dockerfile
229
298
  - Gemfile
230
299
  - LICENSE.txt
231
300
  - Rakefile
301
+ - docs/.envrc
232
302
  - docs/Gemfile
233
303
  - docs/Gemfile.lock
234
304
  - docs/_config.yml
@@ -240,15 +310,18 @@ files:
240
310
  - docs/devs/index.md
241
311
  - docs/devs/releases.md
242
312
  - docs/index.md
243
- - docs/users/configuration/cdn.md
313
+ - docs/logo.png
314
+ - docs/logo.svg
244
315
  - docs/users/configuration/directories.md
245
316
  - docs/users/configuration/disable.md
246
317
  - docs/users/configuration/fast_build.md
247
318
  - docs/users/configuration/ignore_missing.md
248
319
  - docs/users/configuration/index.md
249
320
  - docs/users/configuration/kramdown_fix.md
250
- - docs/users/configuration/relative_urls.md
251
321
  - docs/users/configuration/suppress_warnings.md
322
+ - docs/users/configuration/urls.md
323
+ - docs/users/deployment.md
324
+ - docs/users/getting_started.md
252
325
  - docs/users/index.md
253
326
  - docs/users/installation.md
254
327
  - docs/users/liquid_tag/argument_reference/alternate_images.md
@@ -264,10 +337,10 @@ files:
264
337
  - docs/users/notes/github_pages.md
265
338
  - docs/users/notes/html_attributes.md
266
339
  - docs/users/notes/index.md
267
- - docs/users/notes/input_checking.md
268
340
  - docs/users/notes/kramdown_bug.md
269
341
  - docs/users/notes/managing_images.md
270
- - docs/users/notes/migration.md
342
+ - docs/users/notes/migration_1.md
343
+ - docs/users/notes/migration_2.md
271
344
  - docs/users/presets/cropping.md
272
345
  - docs/users/presets/default.md
273
346
  - docs/users/presets/examples.md
@@ -284,27 +357,29 @@ files:
284
357
  - docs/users/presets/media_queries.md
285
358
  - docs/users/presets/nomarkdown_override.md
286
359
  - docs/users/presets/pixel_ratio_srcsets.md
360
+ - docs/users/presets/quality_width_graph.png
287
361
  - docs/users/presets/width_height_attributes.md
288
362
  - docs/users/presets/width_srcsets.md
289
- - jekyll-picture-tag.gemspec
363
+ - docs/users/presets/writing_presets.md
364
+ - docs/users/tutorial.md
290
365
  - jekyll_picture_tag.gemspec
291
- - lib/jekyll-picture-tag.rb
292
366
  - lib/jekyll_picture_tag.rb
293
367
  - lib/jekyll_picture_tag/cache.rb
294
- - lib/jekyll_picture_tag/cache/base.rb
295
- - lib/jekyll_picture_tag/cache/generated.rb
296
- - lib/jekyll_picture_tag/cache/source.rb
297
- - lib/jekyll_picture_tag/defaults/global.yml
298
- - lib/jekyll_picture_tag/defaults/presets.yml
299
- - lib/jekyll_picture_tag/generated_image.rb
300
- - lib/jekyll_picture_tag/img_uri.rb
368
+ - lib/jekyll_picture_tag/defaults/global.rb
369
+ - lib/jekyll_picture_tag/defaults/presets.rb
370
+ - lib/jekyll_picture_tag/images.rb
371
+ - lib/jekyll_picture_tag/images/generated_image.rb
372
+ - lib/jekyll_picture_tag/images/image_file.rb
373
+ - lib/jekyll_picture_tag/images/img_uri.rb
374
+ - lib/jekyll_picture_tag/images/source_image.rb
301
375
  - lib/jekyll_picture_tag/instructions.rb
302
- - lib/jekyll_picture_tag/instructions/arg_splitter.rb
303
- - lib/jekyll_picture_tag/instructions/configuration.rb
304
- - lib/jekyll_picture_tag/instructions/html_attributes.rb
305
- - lib/jekyll_picture_tag/instructions/preset.rb
306
- - lib/jekyll_picture_tag/instructions/set.rb
307
- - lib/jekyll_picture_tag/instructions/tag_parser.rb
376
+ - lib/jekyll_picture_tag/instructions/children/config.rb
377
+ - lib/jekyll_picture_tag/instructions/children/context.rb
378
+ - lib/jekyll_picture_tag/instructions/children/params.rb
379
+ - lib/jekyll_picture_tag/instructions/children/parsers.rb
380
+ - lib/jekyll_picture_tag/instructions/children/preset.rb
381
+ - lib/jekyll_picture_tag/instructions/parents/conditional_instruction.rb
382
+ - lib/jekyll_picture_tag/instructions/parents/env_instruction.rb
308
383
  - lib/jekyll_picture_tag/output_formats.rb
309
384
  - lib/jekyll_picture_tag/output_formats/auto.rb
310
385
  - lib/jekyll_picture_tag/output_formats/basic.rb
@@ -317,8 +392,14 @@ files:
317
392
  - lib/jekyll_picture_tag/output_formats/naked_srcset.rb
318
393
  - lib/jekyll_picture_tag/output_formats/picture.rb
319
394
  - lib/jekyll_picture_tag/output_formats/readme.md
395
+ - lib/jekyll_picture_tag/parsers.rb
396
+ - lib/jekyll_picture_tag/parsers/arg_splitter.rb
397
+ - lib/jekyll_picture_tag/parsers/configuration.rb
398
+ - lib/jekyll_picture_tag/parsers/html_attributes.rb
399
+ - lib/jekyll_picture_tag/parsers/image_backend.rb
400
+ - lib/jekyll_picture_tag/parsers/preset.rb
401
+ - lib/jekyll_picture_tag/parsers/tag_parser.rb
320
402
  - lib/jekyll_picture_tag/router.rb
321
- - lib/jekyll_picture_tag/source_image.rb
322
403
  - lib/jekyll_picture_tag/srcsets.rb
323
404
  - lib/jekyll_picture_tag/srcsets/basic.rb
324
405
  - lib/jekyll_picture_tag/srcsets/pixel_ratio.rb
@@ -329,7 +410,8 @@ files:
329
410
  homepage: https://github.com/rbuchberger/jekyll_picture_tag
330
411
  licenses:
331
412
  - BSD-3-Clause
332
- metadata: {}
413
+ metadata:
414
+ documentation_uri: https://rbuchberger.github.io/jekyll_picture_tag/
333
415
  post_install_message:
334
416
  rdoc_options: []
335
417
  require_paths:
@@ -338,17 +420,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
338
420
  requirements:
339
421
  - - ">="
340
422
  - !ruby/object:Gem::Version
341
- version: '2.5'
423
+ version: '2.6'
342
424
  - - "<"
343
425
  - !ruby/object:Gem::Version
344
- version: '3'
426
+ version: '4.0'
345
427
  required_rubygems_version: !ruby/object:Gem::Requirement
346
428
  requirements:
347
429
  - - ">="
348
430
  - !ruby/object:Gem::Version
349
431
  version: '0'
350
- requirements: []
351
- rubygems_version: 3.1.4
432
+ requirements:
433
+ - libvips
434
+ rubygems_version: 3.2.3
352
435
  signing_key:
353
436
  specification_version: 4
354
437
  summary: Easy responsive images for Jekyll.