jekyll_picture_tag 1.13.0 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
![](logo.svg)
|
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.
|