jekyll_picture_tag 1.13.0 → 2.0.2
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/.envrc +4 -0
- data/.github/workflows/code-checks.yml +33 -0
- data/.gitignore +3 -0
- data/.rubocop.yml +29 -76
- data/.ruby-version +1 -1
- data/docs/.envrc +2 -0
- data/docs/devs/contributing/code.md +14 -4
- data/docs/devs/contributing/docs.md +24 -6
- data/docs/devs/contributing/setup.md +21 -1
- data/docs/devs/contributing/testing.md +19 -37
- data/docs/devs/releases.md +45 -4
- data/docs/index.md +43 -18
- data/docs/logo.png +0 -0
- data/docs/logo.svg +880 -0
- data/docs/users/configuration/disable.md +1 -1
- data/docs/users/configuration/ignore_missing.md +1 -1
- data/docs/users/configuration/kramdown_fix.md +1 -1
- data/docs/users/configuration/suppress_warnings.md +1 -1
- data/docs/users/configuration/urls.md +69 -0
- data/docs/users/deployment.md +49 -0
- data/docs/users/getting_started.md +55 -0
- data/docs/users/installation.md +18 -38
- data/docs/users/liquid_tag/argument_reference/crop.md +21 -36
- data/docs/users/liquid_tag/examples.md +13 -25
- data/docs/users/liquid_tag/index.md +1 -1
- data/docs/users/notes/{migration.md → migration_1.md} +1 -1
- data/docs/users/notes/migration_2.md +99 -0
- data/docs/users/presets/cropping.md +21 -22
- data/docs/users/presets/default.md +11 -2
- data/docs/users/presets/examples.md +77 -45
- data/docs/users/presets/fallback_image.md +1 -1
- data/docs/users/presets/html_attributes.md +1 -1
- data/docs/users/presets/image_formats.md +3 -3
- data/docs/users/presets/image_quality.md +71 -56
- data/docs/users/presets/index.md +19 -45
- data/docs/users/presets/link_source.md +1 -1
- data/docs/users/presets/media_queries.md +1 -1
- data/docs/users/presets/nomarkdown_override.md +1 -1
- data/docs/users/presets/pixel_ratio_srcsets.md +1 -1
- data/docs/users/presets/width_height_attributes.md +1 -1
- data/docs/users/presets/width_srcsets.md +61 -23
- data/docs/users/presets/writing_presets.md +65 -0
- data/docs/users/tutorial.md +97 -0
- data/jekyll_picture_tag.gemspec +38 -23
- data/lib/jekyll_picture_tag.rb +8 -5
- data/lib/jekyll_picture_tag/cache.rb +64 -3
- data/lib/jekyll_picture_tag/defaults/global.rb +18 -0
- data/lib/jekyll_picture_tag/defaults/presets.rb +57 -0
- data/lib/jekyll_picture_tag/images.rb +1 -0
- data/lib/jekyll_picture_tag/images/generated_image.rb +25 -60
- data/lib/jekyll_picture_tag/images/image_file.rb +105 -0
- data/lib/jekyll_picture_tag/images/img_uri.rb +3 -10
- data/lib/jekyll_picture_tag/images/source_image.rb +44 -9
- data/lib/jekyll_picture_tag/instructions.rb +70 -6
- data/lib/jekyll_picture_tag/instructions/children/config.rb +128 -0
- data/lib/jekyll_picture_tag/instructions/children/context.rb +24 -0
- data/lib/jekyll_picture_tag/instructions/children/params.rb +90 -0
- data/lib/jekyll_picture_tag/instructions/children/parsers.rb +48 -0
- data/lib/jekyll_picture_tag/instructions/children/preset.rb +182 -0
- data/lib/jekyll_picture_tag/instructions/parents/conditional_instruction.rb +69 -0
- data/lib/jekyll_picture_tag/instructions/parents/env_instruction.rb +29 -0
- data/lib/jekyll_picture_tag/output_formats/basic.rb +5 -17
- data/lib/jekyll_picture_tag/parsers.rb +6 -0
- data/lib/jekyll_picture_tag/{instructions → parsers}/arg_splitter.rb +1 -1
- data/lib/jekyll_picture_tag/parsers/configuration.rb +28 -0
- data/lib/jekyll_picture_tag/{instructions → parsers}/html_attributes.rb +1 -1
- data/lib/jekyll_picture_tag/parsers/image_backend.rb +33 -0
- data/lib/jekyll_picture_tag/parsers/preset.rb +43 -0
- data/lib/jekyll_picture_tag/{instructions → parsers}/tag_parser.rb +15 -12
- data/lib/jekyll_picture_tag/router.rb +35 -93
- data/lib/jekyll_picture_tag/srcsets/basic.rb +4 -10
- data/lib/jekyll_picture_tag/utils.rb +10 -20
- data/lib/jekyll_picture_tag/version.rb +1 -1
- data/readme.md +48 -9
- metadata +161 -80
- data/.travis.yml +0 -8
- data/Dockerfile +0 -9
- data/docs/users/configuration/cdn.md +0 -35
- data/docs/users/configuration/relative_urls.md +0 -15
- data/docs/users/notes/input_checking.md +0 -6
- data/jekyll-picture-tag.gemspec +0 -52
- data/lib/jekyll-picture-tag.rb +0 -25
- data/lib/jekyll_picture_tag/cache/base.rb +0 -59
- data/lib/jekyll_picture_tag/cache/generated.rb +0 -20
- data/lib/jekyll_picture_tag/cache/source.rb +0 -19
- data/lib/jekyll_picture_tag/defaults/global.yml +0 -11
- data/lib/jekyll_picture_tag/defaults/presets.yml +0 -11
- data/lib/jekyll_picture_tag/instructions/configuration.rb +0 -121
- data/lib/jekyll_picture_tag/instructions/preset.rb +0 -122
- data/lib/jekyll_picture_tag/instructions/set.rb +0 -75
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61b3c53bfa81070e0457626c7ffe32c528bd6cafcc6627b5899d4737f83e2fd8
|
4
|
+
data.tar.gz: 25abc195daaee489892452b4fb1622fcb4585e1b09ee34bb1a2a4b568d2a1f68
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 075f856f3407ee8e1c68f785759a600ea04ddbfcff08944fd4796157c842a2c0583044b726580ed5030b81fd0f8b82c962345e583eef4c492fd2edda7a03fe48
|
7
|
+
data.tar.gz: 66f7afa3af4d32ac61d67e21f4a7844d86c2f195043f3f607b706a30a40e3be040e21654ef601cd5f12edf7535f6e1401edb2ae1f17a50c56de91eb5b1a03c70
|
data/.envrc
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
name: 'Tests & Formatting'
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ master ]
|
8
|
+
schedule:
|
9
|
+
# Run weekly; github deletes caches that haven't been used in a week.
|
10
|
+
- cron: '0 0 * * 0'
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
checks:
|
14
|
+
runs-on: ubuntu-20.04
|
15
|
+
|
16
|
+
steps:
|
17
|
+
|
18
|
+
- name: Install system dependencies
|
19
|
+
run: sudo apt install libjpeg-dev webp libpng-dev libavifile-0.7c2 libopenjpip7 imagemagick libvips-tools
|
20
|
+
|
21
|
+
- name: Checkout repo
|
22
|
+
uses: actions/checkout@v2
|
23
|
+
|
24
|
+
# Version taken from .ruby-version file.
|
25
|
+
# Also runs bundle install.
|
26
|
+
- name: Install Ruby
|
27
|
+
uses: ruby/setup-ruby@v1
|
28
|
+
with:
|
29
|
+
bundler-cache: true
|
30
|
+
|
31
|
+
- run: bundle exec rake test
|
32
|
+
|
33
|
+
- run: bundle exec rubocop
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,81 +1,34 @@
|
|
1
|
-
#
|
1
|
+
# Exclude unimportant files
|
2
|
+
require:
|
3
|
+
- rubocop-minitest
|
4
|
+
- rubocop-rake
|
5
|
+
|
6
|
+
AllCops:
|
7
|
+
NewCops: enable
|
8
|
+
Include:
|
9
|
+
- 'lib/**/*.rb'
|
10
|
+
- 'test/**/*.rb'
|
11
|
+
- 'Gemfile'
|
12
|
+
- 'Rakefile'
|
13
|
+
- '*.gemspec'
|
14
|
+
|
15
|
+
Exclude:
|
16
|
+
- '**/.bundle/*'
|
17
|
+
- '**/.git/*'
|
18
|
+
- '**/.github/*'
|
19
|
+
- '**/bin/**/*'
|
20
|
+
- '**/coverage/**/*'
|
21
|
+
- '**/docs/**/*'
|
22
|
+
- '**/imagemagick/*'
|
23
|
+
- '**/pkg/**/*'
|
24
|
+
- '**/vendor/**/*'
|
25
|
+
|
26
|
+
Layout/LineLength:
|
27
|
+
Max: 80
|
28
|
+
|
29
|
+
# Disabled Cops
|
2
30
|
Style/FrozenStringLiteralComment:
|
3
31
|
Enabled: false
|
4
32
|
|
5
33
|
Style/StringConcatenation:
|
6
34
|
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/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.6.6
|
data/docs/.envrc
ADDED
@@ -2,7 +2,18 @@
|
|
2
2
|
sort: 4
|
3
3
|
---
|
4
4
|
|
5
|
-
# Code
|
5
|
+
# Code
|
6
|
+
|
7
|
+
## Commit guidelines
|
8
|
+
|
9
|
+
* The commit log should be a history of small, coherent changes. Commits are cheap, make no attempt
|
10
|
+
to minimize the number of them! Yes, it's messy. Yes it makes the commit log longer. It's also far
|
11
|
+
more useful than a nice, tidy, one-commit-per-pull-request log.
|
12
|
+
|
13
|
+
* Follow the existing commit message style. Start with a capitalized, present tense verb and say
|
14
|
+
what the commit does. If the reason why isn't obvious, explain in the extended message.
|
15
|
+
|
16
|
+
## Code Guidelines
|
6
17
|
|
7
18
|
* Generally, go for straightforward and readable rather than terse and clever. I'm not actually a
|
8
19
|
very good programmer; I need simple code that's easy to understand.
|
@@ -31,14 +42,13 @@ criteria:
|
|
31
42
|
* Maintain "no configuration required" - a new user must be able to add JPT to their gemfile, bundle
|
32
43
|
install, and start writing picture tags in their site without touching a yml file.
|
33
44
|
|
34
|
-
*
|
35
|
-
of code in the `lib` folder must run at least once.)
|
45
|
+
* Good test coverage, > 90%. Not every line must be tested, but every line that matters should be.
|
36
46
|
|
37
47
|
* No failing tests
|
38
48
|
|
39
49
|
* No rubocop warnings
|
40
50
|
|
41
|
-
|
51
|
+
## Thanks!
|
42
52
|
|
43
53
|
As I said, don't let any of the rules & guidelines scare you away. They're the rules for merging
|
44
54
|
into master, not submitting a pull request. I'm thrilled to receive any help at all.
|
@@ -4,10 +4,28 @@ sort: 2
|
|
4
4
|
|
5
5
|
# Docs
|
6
6
|
|
7
|
-
|
7
|
+
The docs are a mini-project in the docs folder. They don't have a dedicated git repository, but they
|
8
|
+
do have their own Gemfile. They run on Github Pages, which is based on Jekyll.
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
The format is simple; markdown files with a few lines of metadata at the top, organized into
|
11
|
+
subdirectories. We're using the [jekyll-rtd-theme](https://jekyll-rtd-theme.rundocs.io/).
|
12
|
+
|
13
|
+
You can preview as you edit; first the setup:
|
14
|
+
|
15
|
+
``` sh
|
16
|
+
$ git clone git@github.com:rbuchberger/jekyll_picture_tag.git # if you haven't already
|
17
|
+
$ cd jekyll_picture_tag/docs
|
18
|
+
$ direnv allow # (optional)
|
19
|
+
$ bundle install --binstubs # --binstubs is optional.
|
20
|
+
```
|
21
|
+
|
22
|
+
If you use direnv or add `docs/bin` to your `PATH` another way, the `--binstubs` flag allows you to
|
23
|
+
skip `bundle exec`.
|
24
|
+
|
25
|
+
To preview:
|
26
|
+
|
27
|
+
``` sh
|
28
|
+
$ jekyll serve --livereload # (prefix with `bundle exec` if necessary)
|
29
|
+
```
|
30
|
+
|
31
|
+
* In a web browser, navigate to `localhost:4000/jekyll_picture_tag/`
|
@@ -4,10 +4,30 @@ sort: 1
|
|
4
4
|
|
5
5
|
## Setup
|
6
6
|
|
7
|
-
|
7
|
+
I use [asdf](https://github.com/asdf-vm/asdf) and [direnv](https://direnv.net/) (via
|
8
|
+
[asdf-direnv](https://github.com/asdf-community/asdf-direnv)). They add convenience, but they aren't
|
9
|
+
required by any means.
|
8
10
|
|
11
|
+
### With asdf & direnv:
|
12
|
+
|
13
|
+
```sh
|
14
|
+
$ git clone git@github.com:rbuchberger/jekyll_picture_tag.git
|
15
|
+
$ cd jekyll_picture_tag
|
16
|
+
$ direnv allow
|
17
|
+
$ asdf install
|
18
|
+
$ bundle install --binstubs
|
9
19
|
```
|
20
|
+
|
21
|
+
### Without asdf & direnv
|
22
|
+
|
23
|
+
```sh
|
10
24
|
$ git clone git@github.com:rbuchberger/jekyll_picture_tag.git
|
11
25
|
$ cd jekyll_picture_tag
|
26
|
+
# Install the correct version of ruby, with the bundler gem.
|
12
27
|
$ bundle install
|
13
28
|
```
|
29
|
+
|
30
|
+
* The currently targeted ruby version can be found in the `.ruby-version` file in the project root;
|
31
|
+
ensure your version manager of choice knows about it.
|
32
|
+
* If you add the project's `bin/` folder to your path, and run `bundle install --binstubs`, you won't
|
33
|
+
have to use `bundle exec` for `rake` commands and such.
|
@@ -2,40 +2,22 @@
|
|
2
2
|
sort: 3
|
3
3
|
---
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
`
|
14
|
-
|
15
|
-
|
16
|
-
`rake
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
but that's a project for another day.
|
25
|
-
|
26
|
-
The tests do output a few images to the `/tmp/` directory, which I'm pretty sure means it won't work
|
27
|
-
on Windows. This is fixable if there is a need, so if that gets in your way just ask.
|
28
|
-
|
29
|
-
`rake rubocop` checks code formatting, `rake rubocop:auto_correct` will try to fix any rubocop
|
30
|
-
issues, if possible.
|
31
|
-
|
32
|
-
`rake` will run all tests and rubocop.
|
33
|
-
|
34
|
-
### Docker
|
35
|
-
|
36
|
-
The following commands will build and run the tests inside a docker image.
|
37
|
-
|
38
|
-
```bash
|
39
|
-
$ docker build . -t jpt
|
40
|
-
$ docker run -t jpt
|
41
|
-
```
|
5
|
+
# Tests
|
6
|
+
|
7
|
+
The primary way to run these checks is `rake`:
|
8
|
+
|
9
|
+
| rake command | function |
|
10
|
+
|-----------------------------|---------------------------------|
|
11
|
+
| `rake unit` | Unit tests only |
|
12
|
+
| `rake integration` | Integration tests only |
|
13
|
+
| `rake test` | Both unit and integration tests |
|
14
|
+
| `rake rubocop` | Check code formatting |
|
15
|
+
| `rake rubocop:auto_correct` | Fix rubocop issues, if possible |
|
16
|
+
| `rake` | Run all checks |
|
17
|
+
|
18
|
+
* Ignore the mini_magick `method redefined` warnings (unless you know how to fix them?)
|
19
|
+
* Depending on your environment, you may need to prefix all rake commands with `bundle exec`
|
20
|
+
* Simplecov is set up -- you'll get a measurement of coverage in the test output and a nice report
|
21
|
+
in the `coverage` directory.
|
22
|
+
* The tests use the `/tmp/` directory directly, which I'm pretty sure means it won't work on
|
23
|
+
Windows. This is fixable, so if that gets in your way just ask.
|
data/docs/devs/releases.md
CHANGED
@@ -1,6 +1,47 @@
|
|
1
1
|
---
|
2
2
|
---
|
3
3
|
# Release History
|
4
|
+
|
5
|
+
* 2.0.2 March 31, 2021
|
6
|
+
* Do not pass a quality argument when generating PNG files.
|
7
|
+
* It only works on newer versions of vips, breaking builds when using older
|
8
|
+
versions (such as when deploying to netlify.)
|
9
|
+
* It's not remarkably useful in the first place.
|
10
|
+
* 2.0.1 March 31, 2021
|
11
|
+
* Select imagemagick deliberately when appropriate, rather than simply rescuing all vips errors
|
12
|
+
and trying again. This will stop JPT from suppressing useful vips errors.
|
13
|
+
* **2.0** March 25, 2021 - [Migration guide](/jekyll_picture_tag/users/notes/migration_2)
|
14
|
+
* Switch from ImageMagick to libvips.
|
15
|
+
* 🚀🔥🔥**MUCH MORE FASTER**🔥🔥🚀
|
16
|
+
* Will still attempt to use imagemagick if libvips cannot handle a
|
17
|
+
particular image format.
|
18
|
+
* Eliminate the ImageMagick v7 on Ubuntu pain we've been dealing with for so
|
19
|
+
long.
|
20
|
+
* Require Ruby >= 2.6, support Ruby 3.0
|
21
|
+
* Require Jekyll >= 4.0
|
22
|
+
* Cropping is changing.
|
23
|
+
* We now use the libvips
|
24
|
+
[smartcrop function](https://www.rubydoc.info/gems/ruby-vips/Vips/Image#smartcrop-instance_method),
|
25
|
+
which does some magic to keep the most useful part of the image.
|
26
|
+
* Geometry is renamed to 'crop', and reduced to simple aspect ratios only. (`width:height`)
|
27
|
+
* Gravity is gone, replaced by 'keep' which is translated to a libvips
|
28
|
+
[interestingness](https://www.rubydoc.info/gems/ruby-vips/Vips/Interesting) setting.
|
29
|
+
* Add stock presets and media queries, under the `jpt-` prefix.
|
30
|
+
* Add `format_quality` default settings for webp, avif, and jp2.
|
31
|
+
* Add image-format-specific write options.
|
32
|
+
* Overhaul user input handling; we can now validate inputs and give error
|
33
|
+
messages which are less useless. Stronger validation and nicer errors will be added in future
|
34
|
+
releases.
|
35
|
+
* Drop support for `markup_presets` and `media_presets`. They are now
|
36
|
+
officially and only `presets` and `media_queries`.
|
37
|
+
* Improve docs with an introductory tutorial and 'how-to' flow.
|
38
|
+
* 1.14.0 January 10, 2021
|
39
|
+
* Gracefully handle empty tag arguments.
|
40
|
+
* Re-add metadata stripping. I removed it inadvertently when refactoring; now
|
41
|
+
there's a test and a setting to turn it off.
|
42
|
+
* Respect Jekyll's `--disable-disk-cache` argument.
|
43
|
+
* Add baseurl configuration, allowing increased plugin support (such as I18n via `jekyll-multiple-languages-plugin`)
|
44
|
+
* Tooling & test suite maintenance and improvements.
|
4
45
|
* 1.13.0 November 23, 2020
|
5
46
|
* Add image quality interpolation; allows for variable image quality based on image size.
|
6
47
|
* Bugfix: Perform format, resize, and quality changes simultaneously rather than individually.
|
@@ -49,12 +90,12 @@
|
|
49
90
|
* link_source will now target the base source image, rather than finding the
|
50
91
|
biggest one.
|
51
92
|
* Remove fastimage dependency, add addressable dependency.
|
52
|
-
* Moderately significant refactoring and code cleanup
|
93
|
+
* Moderately significant refactoring and code cleanup
|
53
94
|
* Decent set of tests added
|
54
95
|
* 1.6.0 Jul 2, 2019:
|
55
96
|
* Missing Preset warning respects `data_dir` setting
|
56
97
|
* Add `continue_on_missing` option
|
57
|
-
* 1.5.0 Jun 26, 2019:
|
98
|
+
* 1.5.0 Jun 26, 2019:
|
58
99
|
* better `{::nomarkdown}` necessity detection
|
59
100
|
* allow user to override `{::nomarkdown}` autodetection
|
60
101
|
* 1.4.0 Jun 26, 2019:
|
@@ -77,8 +118,8 @@
|
|
77
118
|
* auto-orient images before stripping metadata
|
78
119
|
* 1.0.2 Jan 18, 2019: Fix ruby version specification
|
79
120
|
* 1.0.1 Jan 13, 2019: Added ruby version checking
|
80
|
-
* **1.0.0** Nov 27, 2018: Rewrite from the ground up. See the
|
81
|
-
|
121
|
+
* **1.0.0** Nov 27, 2018: Rewrite from the ground up. See the [migration guide]({{ site.baseurl
|
122
|
+
}}/users/notes/migration_1).
|
82
123
|
* 0.2.2 Aug 2, 2013: Bugfixes
|
83
124
|
* 0.2.1 Jul 17, 2013: Refactor again, add Liquid parsing.
|
84
125
|
* 0.2.0 Jul 14, 2013: Rewrite code base, bring in line with Jekyll Image Tag.
|
data/docs/index.md
CHANGED
@@ -1,9 +1,19 @@
|
|
1
1
|
---
|
2
2
|
---
|
3
3
|
|
4
|
-
|
4
|
+

|
5
5
|
|
6
|
-
|
6
|
+
_Responsive Images, Done Correctly._
|
7
|
+
|
8
|
+
**Warning:** Deploying JPT can be tricky, especially with the new version using libvips. We depend
|
9
|
+
on system libraries to generate images, whose presence varies greatly between different
|
10
|
+
environments. Before investing a great deal of time, ensure that your deployment process can handle
|
11
|
+
all image formats (both input and output) which you will use.
|
12
|
+
|
13
|
+
**Note:** These docs are for versions >= 2.0. Documentation for the last stable 1.x version may be
|
14
|
+
found by browsing the repository,
|
15
|
+
[here](https://github.com/rbuchberger/jekyll_picture_tag/tree/v1.14.0/docs). This [migration
|
16
|
+
guide](users/notes/migration_2) documents how to upgrade an existing site.
|
7
17
|
|
8
18
|
## Quick start / Demo
|
9
19
|
|
@@ -31,17 +41,33 @@ Responsive Images, Done Correctly.
|
|
31
41
|
|
32
42
|
### "That's cool, but I just want webp."
|
33
43
|
|
34
|
-
|
44
|
+
Use a built-in preset!
|
35
45
|
|
36
|
-
|
37
|
-
presets:
|
38
|
-
default:
|
39
|
-
formats: [webp, original]
|
40
|
-
```
|
46
|
+
{% raw %} `{% picture jpt-webp test.jpg %}` {% endraw %}
|
41
47
|
|
42
|
-
|
43
|
-
|
44
|
-
|
48
|
+
```html
|
49
|
+
<!-- Formatted for readability -->
|
50
|
+
|
51
|
+
<picture>
|
52
|
+
<source
|
53
|
+
type="image/webp"
|
54
|
+
srcset="
|
55
|
+
/generated/test-400-195f7d192.webp 400w,
|
56
|
+
/generated/test-600-195f7d192.webp 600w,
|
57
|
+
/generated/test-800-195f7d192.webp 800w,
|
58
|
+
/generated/test-1000-195f7d192.webp 1000w
|
59
|
+
">
|
60
|
+
<source
|
61
|
+
type="image/jpeg"
|
62
|
+
srcset="
|
63
|
+
/generated/test-400-195f7d.jpg 400w,
|
64
|
+
/generated/test-600-195f7d.jpg 600w,
|
65
|
+
/generated/test-800-195f7d.jpg 800w,
|
66
|
+
/generated/test-1000-195f7d.jpg 1000w
|
67
|
+
">
|
68
|
+
<img src="/generated/test-800-195f7dGUW.jpg">
|
69
|
+
</picture>
|
70
|
+
```
|
45
71
|
|
46
72
|
### Here's a more complete demonstration:
|
47
73
|
|
@@ -67,9 +93,8 @@ presets:
|
|
67
93
|
size: 500px
|
68
94
|
```
|
69
95
|
|
70
|
-
|
71
|
-
|
72
|
-
if you write this:
|
96
|
+
Cropping images is easy as well; simply give an aspect ratio. With the above preset, if you write
|
97
|
+
this:
|
73
98
|
|
74
99
|
{% raw %}
|
75
100
|
`{% picture test.jpg 3:2 mobile: test2.jpg 1:1 --alt Alternate Text %}`
|
@@ -124,7 +149,7 @@ switching problems *solved*, with a one-liner and a nicely readable config file
|
|
124
149
|
that is 1/3 as long as the output markup. Lighthouse is happy, and you don't
|
125
150
|
even need to crop things yourself.
|
126
151
|
|
127
|
-
|
128
|
-
(among other things) add width & height attributes to prevent page
|
129
|
-
link to the source image (or anywhere else), and adjust image
|
130
|
-
docs for more.
|
152
|
+
This is far from a complete demonstration of Jekyll Picture Tag's feature set;
|
153
|
+
it can (among other things) add width & height attributes to prevent page
|
154
|
+
reflow, add a link to the source image (or anywhere else), and adjust image
|
155
|
+
quality. See the docs for more.
|