jekyll_picture_tag 2.0.4 → 2.1.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 +4 -1
- data/docs/devs/releases.md +6 -0
- data/docs/users/notes/html_attributes.md +2 -2
- data/docs/users/presets/markup_formats/fragments.md +2 -2
- data/docs/users/presets/markup_formats/readme.md +1 -1
- data/jekyll_picture_tag.gemspec +1 -1
- data/lib/jekyll_picture_tag/parsers/image_backend.rb +36 -16
- data/lib/jekyll_picture_tag/version.rb +1 -1
- data/readme.md +14 -17
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 112ac65fbe4fb0b25934864d20de4e840259aa7bac0b43c8d6724d3d0c1ded7d
|
4
|
+
data.tar.gz: 8d6d101b1849762e3e955c80b301049a3cab5d7bea6f9ad8469521fb8e7fe60c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86c1e2e9f9e8f62fbbc1ae69975ac490f40358649725b6308c9b964ce29571bbdaef22c6f3a0036e8c3d6352bd799d3b05db080914b143283ba97d61282632d6
|
7
|
+
data.tar.gz: 17cf9d9e1d397651148191fd2c3d9cde68f2af59c17edabb18b9fb27ebba9ea534a42936f601bb999944d2ff884e09788e6301494896a2ceeae0c2d1b9c23aae
|
data/.rubocop.yml
CHANGED
@@ -24,7 +24,7 @@ AllCops:
|
|
24
24
|
- '**/vendor/**/*'
|
25
25
|
|
26
26
|
Layout/LineLength:
|
27
|
-
Max:
|
27
|
+
Max: 120
|
28
28
|
|
29
29
|
# Disabled Cops
|
30
30
|
Style/FrozenStringLiteralComment:
|
@@ -32,3 +32,6 @@ Style/FrozenStringLiteralComment:
|
|
32
32
|
|
33
33
|
Style/StringConcatenation:
|
34
34
|
Enabled: false
|
35
|
+
|
36
|
+
Metrics/MethodLength:
|
37
|
+
Enabled: false
|
data/docs/devs/releases.md
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
---
|
3
3
|
# Release History
|
4
4
|
|
5
|
+
* 2.1.0 29 January, 2024
|
6
|
+
* Check whether the vips CLI is installed before trying to use it. Thanks to @philrb for
|
7
|
+
[#299](https://github.com/rbuchberger/jekyll_picture_tag/pull/299)
|
8
|
+
* Update minimum required mocha version to maintain compatibility with minitest
|
9
|
+
* 2.0.4 August 16, 2022
|
10
|
+
* Fix backend format support detection for new versions of libvips & imagemagick
|
5
11
|
* 2.0.3 April 1, 2021
|
6
12
|
* Improve backend format support detection
|
7
13
|
* 2.0.2 March 31, 2021
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# HTML attributes
|
2
2
|
|
3
3
|
Jekyll Picture Tag has comprehensive attribute support for all generated HTML. You can add
|
4
|
-
attributes both through the [liquid tag]({{ site.baseurl }}/
|
5
|
-
site.baseurl }}/presets) (scroll down a bit).
|
4
|
+
attributes both through the [liquid tag]({{ site.baseurl }}{% link /users/liquid_tag/index.md %}),
|
5
|
+
and the [preset]({{ site.baseurl }}{% link /usage/users/presets/html_attributes.md %}) (scroll down a bit).
|
@@ -13,7 +13,7 @@ to make things outside the scope of JPT.
|
|
13
13
|
```yml
|
14
14
|
# _data/picture.yml
|
15
15
|
|
16
|
-
|
16
|
+
presets:
|
17
17
|
direct:
|
18
18
|
markup: direct_url
|
19
19
|
fallback_width: 800
|
@@ -31,7 +31,7 @@ to make things outside the scope of JPT.
|
|
31
31
|
```yml
|
32
32
|
# _data/picture.yml
|
33
33
|
|
34
|
-
|
34
|
+
presets:
|
35
35
|
only_srcset:
|
36
36
|
markup: naked_srcset
|
37
37
|
widths: [800, 1200, 1600]
|
data/jekyll_picture_tag.gemspec
CHANGED
@@ -48,7 +48,7 @@ Gem::Specification.new do |spec|
|
|
48
48
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
49
49
|
spec.add_development_dependency 'minitest', '~> 5.14'
|
50
50
|
spec.add_development_dependency 'minitest-rg'
|
51
|
-
spec.add_development_dependency 'mocha', '~> 1
|
51
|
+
spec.add_development_dependency 'mocha', '~> 2.1'
|
52
52
|
spec.add_development_dependency 'nokogiri', '~> 1.1'
|
53
53
|
spec.add_development_dependency 'pry'
|
54
54
|
spec.add_development_dependency 'rake', '~> 12.3'
|
@@ -14,21 +14,29 @@ module PictureTag
|
|
14
14
|
|
15
15
|
# Returns array of formats that vips can save to
|
16
16
|
def vips_formats
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
17
|
+
if command?('vips')
|
18
|
+
@vips_formats ||= `vips -l`
|
19
|
+
.split('/n')
|
20
|
+
.select { |line| line.include? 'ForeignSave' }
|
21
|
+
.flat_map { |line| line.scan(/\.[a-z]{1,5}/) }
|
22
|
+
.map { |format| format.strip.delete_prefix('.') }
|
23
|
+
.uniq
|
24
|
+
else
|
25
|
+
@vips_formats = []
|
26
|
+
end
|
23
27
|
end
|
24
28
|
|
25
29
|
# Returns an array of formats that imagemagick can handle.
|
26
30
|
def magick_formats
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
31
|
+
if command?('convert')
|
32
|
+
@magick_formats ||= `convert -version`
|
33
|
+
.scan(/Delegates.*/)
|
34
|
+
.first
|
35
|
+
.delete_prefix('Delegates (built-in):')
|
36
|
+
.split
|
37
|
+
else
|
38
|
+
@magick_formats = []
|
39
|
+
end
|
32
40
|
end
|
33
41
|
|
34
42
|
# Returns an array of all known names of a format, for the purposes of
|
@@ -41,16 +49,28 @@ module PictureTag
|
|
41
49
|
private
|
42
50
|
|
43
51
|
def error_string(format)
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
52
|
+
str = []
|
53
|
+
str << "No support for generating \"#{format}\" files in this environment!"
|
54
|
+
str << if command?('vips')
|
55
|
+
"Libvips (installed) supports: \"#{vips_formats.join(', ')}\"."
|
56
|
+
else
|
57
|
+
'Libvips is not installed.'
|
58
|
+
end
|
59
|
+
str << if command?('convert')
|
60
|
+
"Imagemagick (installed) supports: \"#{magick_formats.join(', ')}\"."
|
61
|
+
else
|
62
|
+
'Imagemagick is not installed.'
|
63
|
+
end
|
64
|
+
str.join(' ')
|
49
65
|
end
|
50
66
|
|
51
67
|
def alternates
|
52
68
|
[%w[jpg jpeg], %w[avif heic heif]]
|
53
69
|
end
|
70
|
+
|
71
|
+
def command?(command)
|
72
|
+
system("which #{command} > /dev/null 2>&1")
|
73
|
+
end
|
54
74
|
end
|
55
75
|
end
|
56
76
|
end
|
data/readme.md
CHANGED
@@ -18,10 +18,9 @@ If you're interested, contact me: robert@buchberger.cc
|
|
18
18
|
**Responsive Images done correctly.**
|
19
19
|
|
20
20
|
It's simple to throw a photo on a page and call it a day, but doing justice to users on all
|
21
|
-
different browsers and devices is tedious and tricky. Tedious, tricky things should be automated.
|
21
|
+
different browsers and devices is tedious and tricky. Tedious, tricky things should be automated.
|
22
22
|
[This blog post further elaborates on that theme.](https://robert-buchberger.com/blog/2021/responsive_images.html)
|
23
23
|
|
24
|
-
|
25
24
|
Jekyll Picture Tag automatically builds cropped, resized, and reformatted images, builds several
|
26
25
|
kinds of markup, offers extensive configuration while requiring none, and solves both the art
|
27
26
|
direction and resolution switching problems with a little YAML configuration and a simple template
|
@@ -50,16 +49,22 @@ Tag is your responsive images minion - give it simple instructions and it'll han
|
|
50
49
|
* Configure it easily, or not at all.
|
51
50
|
* Make Lighthouse happy.
|
52
51
|
|
53
|
-
## Documentation
|
52
|
+
## Documentation
|
54
53
|
|
55
|
-
https://rbuchberger.github.io/jekyll_picture_tag
|
54
|
+
<https://rbuchberger.github.io/jekyll_picture_tag/>
|
56
55
|
|
57
|
-
## Changelog
|
56
|
+
## Changelog
|
58
57
|
|
59
|
-
https://rbuchberger.github.io/jekyll_picture_tag/devs/releases
|
58
|
+
<https://rbuchberger.github.io/jekyll_picture_tag/devs/releases>
|
60
59
|
|
61
60
|
Recent releases:
|
62
61
|
|
62
|
+
* 2.1.0 29 January, 2024
|
63
|
+
* Check whether the vips CLI is installed before trying to use it. Thanks to @philrb for
|
64
|
+
[#299](https://github.com/rbuchberger/jekyll_picture_tag/pull/299)
|
65
|
+
* Update minimum required mocha version to maintain compatibility with minitest
|
66
|
+
* 2.0.4 August 16, 2022
|
67
|
+
* Fix backend format support detection for new versions of libvips & imagemagick
|
63
68
|
* 2.0.3 April 1, 2021
|
64
69
|
* Improve backend format support detection
|
65
70
|
* 2.0.2 March 31, 2021
|
@@ -80,11 +85,11 @@ Recent releases:
|
|
80
85
|
* Require Ruby >= 2.6, support Ruby 3.0
|
81
86
|
* Require Jekyll >= 4.0
|
82
87
|
* Cropping is changing.
|
83
|
-
|
88
|
+
* We now use the libvips
|
84
89
|
[smartcrop function](https://www.rubydoc.info/gems/ruby-vips/Vips/Image#smartcrop-instance_method),
|
85
90
|
which does some magic to keep the most useful part of the image.
|
86
|
-
|
87
|
-
|
91
|
+
* Geometry is renamed to 'crop', and reduced to simple aspect ratios only. (`width:height`)
|
92
|
+
* Gravity is gone, replaced by 'keep' which is translated to a libvips
|
88
93
|
[interestingness](https://www.rubydoc.info/gems/ruby-vips/Vips/Interesting) setting.
|
89
94
|
* Add stock presets and media queries, under the `jpt-` prefix.
|
90
95
|
* Add `format_quality` default settings for webp, avif, and jp2.
|
@@ -96,14 +101,6 @@ Recent releases:
|
|
96
101
|
officially and only `presets` and `media_queries`.
|
97
102
|
* Improve docs with an introductory tutorial and 'how-to' flow.
|
98
103
|
|
99
|
-
* 1.14.0 January 10, 2021
|
100
|
-
* Gracefully handle empty tag arguments.
|
101
|
-
* Re-add metadata stripping. I removed it inadvertently when refactoring; now
|
102
|
-
there's a test and a setting to turn it off.
|
103
|
-
* Respect Jekyll's `--disable-disk-cache` argument.
|
104
|
-
* Add baseurl configuration, allowing increased plugin support (such as I18n via `jekyll-multiple-languages-plugin`)
|
105
|
-
* Tooling & test suite maintenance and improvements.
|
106
|
-
|
107
104
|
## Help Wanted
|
108
105
|
|
109
106
|
Writing code is only part of the job; often the harder part is knowing what needs to be changed. Any
|
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: 2.0
|
4
|
+
version: 2.1.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:
|
13
|
+
date: 2024-01-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: addressable
|
@@ -144,14 +144,14 @@ dependencies:
|
|
144
144
|
requirements:
|
145
145
|
- - "~>"
|
146
146
|
- !ruby/object:Gem::Version
|
147
|
-
version: '1
|
147
|
+
version: '2.1'
|
148
148
|
type: :development
|
149
149
|
prerelease: false
|
150
150
|
version_requirements: !ruby/object:Gem::Requirement
|
151
151
|
requirements:
|
152
152
|
- - "~>"
|
153
153
|
- !ruby/object:Gem::Version
|
154
|
-
version: '1
|
154
|
+
version: '2.1'
|
155
155
|
- !ruby/object:Gem::Dependency
|
156
156
|
name: nokogiri
|
157
157
|
requirement: !ruby/object:Gem::Requirement
|