jekyll_picture_tag 1.11.0 → 2.0.0
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 +31 -3
- data/.ruby-version +1 -1
- data/docs/.envrc +2 -0
- data/docs/Gemfile +4 -2
- data/docs/Gemfile.lock +14 -12
- data/docs/_config.yml +6 -10
- data/docs/devs/contributing/code.md +54 -0
- data/docs/devs/contributing/docs.md +31 -0
- data/docs/devs/contributing/index.md +15 -0
- data/docs/devs/contributing/setup.md +33 -0
- data/docs/devs/contributing/testing.md +23 -0
- data/docs/devs/index.md +7 -0
- data/docs/devs/releases.md +118 -0
- data/docs/index.md +67 -31
- data/docs/logo.png +0 -0
- data/docs/logo.svg +880 -0
- data/docs/users/configuration/directories.md +34 -0
- data/docs/users/configuration/disable.md +24 -0
- data/docs/users/configuration/fast_build.md +28 -0
- data/docs/users/configuration/ignore_missing.md +23 -0
- data/docs/users/configuration/index.md +29 -0
- data/docs/users/configuration/kramdown_fix.md +20 -0
- data/docs/users/configuration/suppress_warnings.md +16 -0
- data/docs/users/configuration/urls.md +69 -0
- data/docs/users/getting_started.md +55 -0
- data/docs/users/index.md +7 -0
- data/docs/users/installation.md +32 -0
- data/docs/users/liquid_tag/argument_reference/alternate_images.md +18 -0
- data/docs/users/liquid_tag/argument_reference/attributes.md +42 -0
- data/docs/users/liquid_tag/argument_reference/base_image.md +12 -0
- data/docs/users/liquid_tag/argument_reference/crop.md +33 -0
- data/docs/users/liquid_tag/argument_reference/link.md +16 -0
- data/docs/users/liquid_tag/argument_reference/preset.md +17 -0
- data/docs/users/liquid_tag/argument_reference/readme.md +9 -0
- data/docs/users/liquid_tag/examples.md +81 -0
- data/docs/users/liquid_tag/index.md +31 -0
- data/docs/users/notes/git_lfs.md +7 -0
- data/docs/users/notes/github_pages.md +5 -0
- data/docs/users/notes/html_attributes.md +5 -0
- data/docs/users/notes/index.md +6 -0
- data/docs/users/notes/kramdown_bug.md +41 -0
- data/docs/users/notes/managing_images.md +21 -0
- data/docs/{migration.md → users/notes/migration_1.md} +1 -1
- data/docs/users/notes/migration_2.md +99 -0
- data/docs/users/presets/cropping.md +60 -0
- data/docs/users/presets/default.md +32 -0
- data/docs/users/presets/examples.md +111 -0
- data/docs/users/presets/fallback_image.md +28 -0
- data/docs/users/presets/html_attributes.md +26 -0
- data/docs/users/presets/image_formats.md +21 -0
- data/docs/users/presets/image_quality.md +120 -0
- data/docs/users/presets/index.md +75 -0
- data/docs/users/presets/link_source.md +16 -0
- data/docs/users/presets/markup_formats/fragments.md +48 -0
- data/docs/users/presets/markup_formats/javascript_friendly.md +57 -0
- data/docs/users/presets/markup_formats/readme.md +43 -0
- data/docs/users/presets/markup_formats/standard_html.md +25 -0
- data/docs/users/presets/media_queries.md +36 -0
- data/docs/users/presets/nomarkdown_override.md +17 -0
- data/docs/users/presets/pixel_ratio_srcsets.md +32 -0
- data/docs/users/presets/quality_width_graph.png +0 -0
- data/docs/users/presets/width_height_attributes.md +34 -0
- data/docs/users/presets/width_srcsets.md +123 -0
- 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 +11 -10
- 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 +4 -0
- data/lib/jekyll_picture_tag/images/generated_image.rb +92 -0
- data/lib/jekyll_picture_tag/images/image_file.rb +90 -0
- data/lib/jekyll_picture_tag/{img_uri.rb → images/img_uri.rb} +3 -10
- data/lib/jekyll_picture_tag/{source_image.rb → 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 +41 -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 +5 -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/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 +24 -20
- data/lib/jekyll_picture_tag/version.rb +1 -1
- data/readme.md +15 -13
- metadata +215 -93
- data/.travis.yml +0 -8
- data/Dockerfile +0 -9
- data/docs/_layouts/directory.html +0 -32
- data/docs/assets/style.css +0 -31
- data/docs/contributing.md +0 -109
- data/docs/example_presets.md +0 -116
- data/docs/global_configuration.md +0 -173
- data/docs/installation.md +0 -45
- data/docs/notes.md +0 -91
- data/docs/output.md +0 -63
- data/docs/presets.md +0 -391
- data/docs/releases.md +0 -70
- data/docs/usage.md +0 -157
- 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/generated_image.rb +0 -140
- data/lib/jekyll_picture_tag/instructions/configuration.rb +0 -121
- data/lib/jekyll_picture_tag/instructions/preset.rb +0 -103
- data/lib/jekyll_picture_tag/instructions/set.rb +0 -71
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f9db202e681087ec43ee9cc26b3e32dbc76de45c394ea834039b72f100215e1
|
4
|
+
data.tar.gz: 2c195508efb7d9e05bda81dd529366f47fa25c5e1ce7bc6ca60edbd5e2db8a4f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc17dcd0e8a5ffb70f3ca67bf22e8bb34b2e9c5af61ffabaf5e92e853b01bec6a0b56a01f45ccc44f55be11112aed75e04ac293e4d8012af3b135ce20aaa84fb
|
7
|
+
data.tar.gz: '09b01489bcd3dc1e7428ae41fe6f603488f1863cc731ad0d70f5861cb1c3525dda04f7445a9f97d22f005b5a900c8d6ba019467f7379575fe07c0370e9a0d8cb'
|
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,6 +1,34 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# Exclude unimportant files
|
2
|
+
require:
|
3
|
+
- rubocop-minitest
|
4
|
+
- rubocop-rake
|
3
5
|
|
4
6
|
AllCops:
|
5
7
|
NewCops: enable
|
6
|
-
|
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
|
30
|
+
Style/FrozenStringLiteralComment:
|
31
|
+
Enabled: false
|
32
|
+
|
33
|
+
Style/StringConcatenation:
|
34
|
+
Enabled: false
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.6.6
|
data/docs/.envrc
ADDED
data/docs/Gemfile
CHANGED
data/docs/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activesupport (6.0.3)
|
4
|
+
activesupport (6.0.3.2)
|
5
5
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
6
6
|
i18n (>= 0.7, < 2)
|
7
7
|
minitest (~> 5.1)
|
@@ -28,12 +28,12 @@ GEM
|
|
28
28
|
execjs (2.7.0)
|
29
29
|
faraday (1.0.1)
|
30
30
|
multipart-post (>= 1.2, < 3)
|
31
|
-
ffi (1.
|
31
|
+
ffi (1.13.1)
|
32
32
|
forwardable-extended (2.6.0)
|
33
33
|
gemoji (3.0.1)
|
34
|
-
github-pages (
|
34
|
+
github-pages (206)
|
35
35
|
github-pages-health-check (= 1.16.1)
|
36
|
-
jekyll (= 3.8.
|
36
|
+
jekyll (= 3.8.7)
|
37
37
|
jekyll-avatar (= 0.7.0)
|
38
38
|
jekyll-coffeescript (= 1.1.1)
|
39
39
|
jekyll-commonmark-ghpages (= 0.1.6)
|
@@ -72,7 +72,7 @@ GEM
|
|
72
72
|
mercenary (~> 0.3)
|
73
73
|
minima (= 2.5.1)
|
74
74
|
nokogiri (>= 1.10.4, < 2.0)
|
75
|
-
rouge (= 3.
|
75
|
+
rouge (= 3.19.0)
|
76
76
|
terminal-table (~> 1.4)
|
77
77
|
github-pages-health-check (1.16.1)
|
78
78
|
addressable (~> 2.3)
|
@@ -80,13 +80,13 @@ GEM
|
|
80
80
|
octokit (~> 4.0)
|
81
81
|
public_suffix (~> 3.0)
|
82
82
|
typhoeus (~> 1.3)
|
83
|
-
html-pipeline (2.
|
83
|
+
html-pipeline (2.13.0)
|
84
84
|
activesupport (>= 2)
|
85
85
|
nokogiri (>= 1.4)
|
86
86
|
http_parser.rb (0.6.0)
|
87
87
|
i18n (0.9.5)
|
88
88
|
concurrent-ruby (~> 1.0)
|
89
|
-
jekyll (3.8.
|
89
|
+
jekyll (3.8.7)
|
90
90
|
addressable (~> 2.4)
|
91
91
|
colorator (~> 1.0)
|
92
92
|
em-websocket (~> 0.5)
|
@@ -136,6 +136,8 @@ GEM
|
|
136
136
|
addressable (~> 2.0)
|
137
137
|
jekyll (>= 3.5, < 5.0)
|
138
138
|
rubyzip (>= 1.3.0)
|
139
|
+
jekyll-rtd-theme (0.1.6)
|
140
|
+
github-pages (~> 206)
|
139
141
|
jekyll-sass-converter (1.5.2)
|
140
142
|
sass (~> 3.4)
|
141
143
|
jekyll-seo-tag (2.6.1)
|
@@ -202,9 +204,9 @@ GEM
|
|
202
204
|
jekyll (>= 3.5, < 5.0)
|
203
205
|
jekyll-feed (~> 0.9)
|
204
206
|
jekyll-seo-tag (~> 2.1)
|
205
|
-
minitest (5.14.
|
207
|
+
minitest (5.14.1)
|
206
208
|
multipart-post (2.1.1)
|
207
|
-
nokogiri (1.10.
|
209
|
+
nokogiri (1.10.10)
|
208
210
|
mini_portile2 (~> 2.4.0)
|
209
211
|
octokit (4.18.0)
|
210
212
|
faraday (>= 0.9)
|
@@ -215,7 +217,7 @@ GEM
|
|
215
217
|
rb-fsevent (0.10.4)
|
216
218
|
rb-inotify (0.10.1)
|
217
219
|
ffi (~> 1.0)
|
218
|
-
rouge (3.
|
220
|
+
rouge (3.19.0)
|
219
221
|
ruby-enum (0.8.0)
|
220
222
|
i18n
|
221
223
|
rubyzip (2.3.0)
|
@@ -236,14 +238,14 @@ GEM
|
|
236
238
|
tzinfo (1.2.7)
|
237
239
|
thread_safe (~> 0.1)
|
238
240
|
unicode-display_width (1.7.0)
|
239
|
-
zeitwerk (2.
|
241
|
+
zeitwerk (2.4.0)
|
240
242
|
|
241
243
|
PLATFORMS
|
242
244
|
ruby
|
243
245
|
|
244
246
|
DEPENDENCIES
|
245
247
|
github-pages
|
246
|
-
jekyll-theme
|
248
|
+
jekyll-rtd-theme
|
247
249
|
|
248
250
|
BUNDLED WITH
|
249
251
|
2.1.4
|
data/docs/_config.yml
CHANGED
@@ -1,13 +1,9 @@
|
|
1
|
-
|
1
|
+
remote_theme: rundocs/jekyll-rtd-theme
|
2
|
+
|
2
3
|
title: Jekyll Picture Tag
|
4
|
+
description: Images for Jekyll, done correctly.
|
5
|
+
lang: en-US
|
3
6
|
|
4
|
-
url: ''
|
5
7
|
baseurl: '/jekyll_picture_tag'
|
6
|
-
|
7
|
-
|
8
|
-
-
|
9
|
-
scope:
|
10
|
-
path: ''
|
11
|
-
values:
|
12
|
-
layout: directory
|
13
|
-
|
8
|
+
readme_index:
|
9
|
+
with_frontmatter: true
|
@@ -0,0 +1,54 @@
|
|
1
|
+
---
|
2
|
+
sort: 4
|
3
|
+
---
|
4
|
+
|
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
|
17
|
+
|
18
|
+
* Generally, go for straightforward and readable rather than terse and clever. I'm not actually a
|
19
|
+
very good programmer; I need simple code that's easy to understand.
|
20
|
+
|
21
|
+
* Refactoring is welcome, especially in the name of the previous point.
|
22
|
+
|
23
|
+
* I'm very reluctant to introduce breaking changes to configuration settings. This rule isn't
|
24
|
+
absolute, but I'm not going to do it without a good reason.
|
25
|
+
|
26
|
+
* Don't disable cops without strong justification.
|
27
|
+
|
28
|
+
* I generally try to write tests before writing code, especially when fixing bugs. This
|
29
|
+
gives us some confidence that what we think we're testing and what we're actually testing aren't
|
30
|
+
too different.
|
31
|
+
|
32
|
+
## Hard rules
|
33
|
+
|
34
|
+
These aren't the rules for submitting a pull request, these are the rules for merging into master.
|
35
|
+
I'm thrilled to receive any help at all, and I'm more than happy to help with meeting these
|
36
|
+
criteria:
|
37
|
+
|
38
|
+
* Liquid tag syntax can only be extended; no breaking changes. I'm not willing to force
|
39
|
+
users to dig through their entire site and change every picture tag in order to update to the
|
40
|
+
latest version.
|
41
|
+
|
42
|
+
* Maintain "no configuration required" - a new user must be able to add JPT to their gemfile, bundle
|
43
|
+
install, and start writing picture tags in their site without touching a yml file.
|
44
|
+
|
45
|
+
* Good test coverage, > 90%. Not every line must be tested, but every line that matters should be.
|
46
|
+
|
47
|
+
* No failing tests
|
48
|
+
|
49
|
+
* No rubocop warnings
|
50
|
+
|
51
|
+
## Thanks!
|
52
|
+
|
53
|
+
As I said, don't let any of the rules & guidelines scare you away. They're the rules for merging
|
54
|
+
into master, not submitting a pull request. I'm thrilled to receive any help at all.
|
@@ -0,0 +1,31 @@
|
|
1
|
+
---
|
2
|
+
sort: 2
|
3
|
+
---
|
4
|
+
|
5
|
+
# Docs
|
6
|
+
|
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.
|
9
|
+
|
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/`
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
---
|
3
|
+
# Contributing
|
4
|
+
|
5
|
+
Bug reports, feature requests, and feedback are very welcome, either through
|
6
|
+
github issues or via email: robert@buchberger.cc
|
7
|
+
|
8
|
+
Pull requests are encouraged! I'm happy to answer questions and provide
|
9
|
+
assistance along the way. Don't let any of the recommendations/requests in this
|
10
|
+
guide stop you from submitting one.
|
11
|
+
|
12
|
+
I think one of the biggest opportunities for improvement in this plugin is its
|
13
|
+
documentation. I'd really love help here, and all you need to know is markdown.
|
14
|
+
|
15
|
+
{% include list.liquid %}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
---
|
2
|
+
sort: 1
|
3
|
+
---
|
4
|
+
|
5
|
+
## Setup
|
6
|
+
|
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.
|
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
|
19
|
+
```
|
20
|
+
|
21
|
+
### Without asdf & direnv
|
22
|
+
|
23
|
+
```sh
|
24
|
+
$ git clone git@github.com:rbuchberger/jekyll_picture_tag.git
|
25
|
+
$ cd jekyll_picture_tag
|
26
|
+
# Install the correct version of ruby, with the bundler gem.
|
27
|
+
$ bundle install
|
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.
|
@@ -0,0 +1,23 @@
|
|
1
|
+
---
|
2
|
+
sort: 3
|
3
|
+
---
|
4
|
+
|
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/index.md
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
---
|
2
|
+
---
|
3
|
+
# Release History
|
4
|
+
* **2.0** March 25, 2021 - [Migration guide](/jekyll_picture_tag/users/notes/migration_2)
|
5
|
+
* Switch from ImageMagick to libvips.
|
6
|
+
* 🚀🔥🔥**MUCH MORE FASTER**🔥🔥🚀
|
7
|
+
* Will still attempt to use imagemagick if libvips cannot handle a
|
8
|
+
particular image format.
|
9
|
+
* Eliminate the ImageMagick v7 on Ubuntu pain we've been dealing with for so
|
10
|
+
long.
|
11
|
+
* Require Ruby >= 2.6, support Ruby 3.0
|
12
|
+
* Require Jekyll >= 4.0
|
13
|
+
* Cropping is changing.
|
14
|
+
* We now use the libvips
|
15
|
+
[smartcrop function](https://www.rubydoc.info/gems/ruby-vips/Vips/Image#smartcrop-instance_method),
|
16
|
+
which does some magic to keep the most useful part of the image.
|
17
|
+
* Geometry is renamed to 'crop', and reduced to simple aspect ratios only. (`width:height`)
|
18
|
+
* Gravity is gone, replaced by 'keep' which is translated to a libvips
|
19
|
+
[interestingness](https://www.rubydoc.info/gems/ruby-vips/Vips/Interesting) setting.
|
20
|
+
* Add stock presets and media queries, under the `jpt-` prefix.
|
21
|
+
* Add `format_quality` default settings for webp, avif, and jp2.
|
22
|
+
* Add image-format-specific write options.
|
23
|
+
* Overhaul user input handling; we can now validate inputs and give error
|
24
|
+
messages which are less useless. Stronger validation and nicer errors will be added in future
|
25
|
+
releases.
|
26
|
+
* Drop support for `markup_presets` and `media_presets`. They are now
|
27
|
+
officially and only `presets` and `media_queries`.
|
28
|
+
* Improve docs with an introductory tutorial and 'how-to' flow.
|
29
|
+
* 1.14.0 January 10, 2021
|
30
|
+
* Gracefully handle empty tag arguments.
|
31
|
+
* Re-add metadata stripping. I removed it inadvertently when refactoring; now
|
32
|
+
there's a test and a setting to turn it off.
|
33
|
+
* Respect Jekyll's `--disable-disk-cache` argument.
|
34
|
+
* Add baseurl configuration, allowing increased plugin support (such as I18n via `jekyll-multiple-languages-plugin`)
|
35
|
+
* Tooling & test suite maintenance and improvements.
|
36
|
+
* 1.13.0 November 23, 2020
|
37
|
+
* Add image quality interpolation; allows for variable image quality based on image size.
|
38
|
+
* Bugfix: Perform format, resize, and quality changes simultaneously rather than individually.
|
39
|
+
* Allows for actual lossless webp: simply set quality to 100.
|
40
|
+
* Improves fresh (no cached images) build times by ~15%
|
41
|
+
* Fix problems with poor image quality.
|
42
|
+
* 1.12.0 July 30, 2020
|
43
|
+
* Documentation overhaul. Now with 87% less scrolling!
|
44
|
+
* Rename `markup_presets` and `media_presets` to `presets` and
|
45
|
+
`media_queries`. The old names were bad and caused confusion. The old names
|
46
|
+
will continue to work until the next major version is released.
|
47
|
+
* 1.11.0 July 27, 2020
|
48
|
+
* **Width and height attribute support!** Begone, page reflow.
|
49
|
+
* Cache image information between builds
|
50
|
+
* Change image naming format. This update will trigger all images to be
|
51
|
+
regenerated, so you may want to delete your generated images folder
|
52
|
+
beforehand.
|
53
|
+
* 1.10.2 July 6, 2020
|
54
|
+
* Bugfix for fallback image files not actually getting generated
|
55
|
+
* 1.10.1 July 2, 2020
|
56
|
+
* Bugfix for erroneously regenerated images
|
57
|
+
* 1.10.0 May 11, 2020
|
58
|
+
* **Image Cropping support!** access the power of ImageMagick's `crop` function.
|
59
|
+
* Don't issue a warning when `default` preset is not found.
|
60
|
+
* Documentation improvements
|
61
|
+
* 1.9.0 Feb 2, 2020
|
62
|
+
* Add `fast_build` global setting
|
63
|
+
* Add `disabled` global setting
|
64
|
+
* Reduce unnecessary disk IO; sites with many source images should see build
|
65
|
+
times improve when no new images need to be generated.
|
66
|
+
* Add support for empty attributes; specifically so best-practice for
|
67
|
+
decorative images (`alt=""`) is possible.
|
68
|
+
* 1.8.0 Nov 25, 2019
|
69
|
+
* Add `data_sizes` setting for the `data_` family of output formats.
|
70
|
+
* 1.7.1 Nov 14, 2019
|
71
|
+
* Fix some HTML attribute related bugs
|
72
|
+
* Add a few items to the FAQ
|
73
|
+
* 1.7.0 Aug 12, 2019
|
74
|
+
* Add support for setting generated image quality, either generally or
|
75
|
+
specific to given formats.
|
76
|
+
* Add support for spaces and other url-encoded characters in filenames
|
77
|
+
* Documentation restructure - Moved it out of the wiki, into the `docs`
|
78
|
+
folder.
|
79
|
+
* Bugfix: Fallback image width will now be checked against source image width.
|
80
|
+
* Bugfix: Minor fix to nomarkdown wrapper output
|
81
|
+
* link_source will now target the base source image, rather than finding the
|
82
|
+
biggest one.
|
83
|
+
* Remove fastimage dependency, add addressable dependency.
|
84
|
+
* Moderately significant refactoring and code cleanup
|
85
|
+
* Decent set of tests added
|
86
|
+
* 1.6.0 Jul 2, 2019:
|
87
|
+
* Missing Preset warning respects `data_dir` setting
|
88
|
+
* Add `continue_on_missing` option
|
89
|
+
* 1.5.0 Jun 26, 2019:
|
90
|
+
* better `{::nomarkdown}` necessity detection
|
91
|
+
* allow user to override `{::nomarkdown}` autodetection
|
92
|
+
* 1.4.0 Jun 26, 2019:
|
93
|
+
* Rename gem from `jekyll-picture-tag` to `jekyll_picture_tag`, allowing us to
|
94
|
+
use rubygems again.
|
95
|
+
* Add new output format: `naked_srcset`.
|
96
|
+
* 1.3.1 Jun 21, 2019: Bugfix
|
97
|
+
* 1.3.0 Jun 7, 2019:
|
98
|
+
* Initial compatibility with Jekyll 4.0
|
99
|
+
* bugfixes
|
100
|
+
* change to generated image naming-- The first build after this update will be
|
101
|
+
longer, and you might want to clear out your generated images.
|
102
|
+
* 1.2.0 Feb 9, 2019:
|
103
|
+
* Add nomarkdown fix
|
104
|
+
* noscript option
|
105
|
+
* relative url option
|
106
|
+
* anchor tag wrappers
|
107
|
+
* 1.1.0 Jan 22, 2019:
|
108
|
+
* Add direct_url markup format,
|
109
|
+
* auto-orient images before stripping metadata
|
110
|
+
* 1.0.2 Jan 18, 2019: Fix ruby version specification
|
111
|
+
* 1.0.1 Jan 13, 2019: Added ruby version checking
|
112
|
+
* **1.0.0** Nov 27, 2018: Rewrite from the ground up. See the [migration guide]({{ site.baseurl
|
113
|
+
}}/users/notes/migration_1).
|
114
|
+
* 0.2.2 Aug 2, 2013: Bugfixes
|
115
|
+
* 0.2.1 Jul 17, 2013: Refactor again, add Liquid parsing.
|
116
|
+
* 0.2.0 Jul 14, 2013: Rewrite code base, bring in line with Jekyll Image Tag.
|
117
|
+
* 0.1.1 Jul 5, 2013: Quick round of code improvements.
|
118
|
+
* 0.1.0 Jul 5, 2013: Initial release.
|