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.
Files changed (124) 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/Gemfile +4 -2
  9. data/docs/Gemfile.lock +14 -12
  10. data/docs/_config.yml +6 -10
  11. data/docs/devs/contributing/code.md +54 -0
  12. data/docs/devs/contributing/docs.md +31 -0
  13. data/docs/devs/contributing/index.md +15 -0
  14. data/docs/devs/contributing/setup.md +33 -0
  15. data/docs/devs/contributing/testing.md +23 -0
  16. data/docs/devs/index.md +7 -0
  17. data/docs/devs/releases.md +118 -0
  18. data/docs/index.md +67 -31
  19. data/docs/logo.png +0 -0
  20. data/docs/logo.svg +880 -0
  21. data/docs/users/configuration/directories.md +34 -0
  22. data/docs/users/configuration/disable.md +24 -0
  23. data/docs/users/configuration/fast_build.md +28 -0
  24. data/docs/users/configuration/ignore_missing.md +23 -0
  25. data/docs/users/configuration/index.md +29 -0
  26. data/docs/users/configuration/kramdown_fix.md +20 -0
  27. data/docs/users/configuration/suppress_warnings.md +16 -0
  28. data/docs/users/configuration/urls.md +69 -0
  29. data/docs/users/getting_started.md +55 -0
  30. data/docs/users/index.md +7 -0
  31. data/docs/users/installation.md +32 -0
  32. data/docs/users/liquid_tag/argument_reference/alternate_images.md +18 -0
  33. data/docs/users/liquid_tag/argument_reference/attributes.md +42 -0
  34. data/docs/users/liquid_tag/argument_reference/base_image.md +12 -0
  35. data/docs/users/liquid_tag/argument_reference/crop.md +33 -0
  36. data/docs/users/liquid_tag/argument_reference/link.md +16 -0
  37. data/docs/users/liquid_tag/argument_reference/preset.md +17 -0
  38. data/docs/users/liquid_tag/argument_reference/readme.md +9 -0
  39. data/docs/users/liquid_tag/examples.md +81 -0
  40. data/docs/users/liquid_tag/index.md +31 -0
  41. data/docs/users/notes/git_lfs.md +7 -0
  42. data/docs/users/notes/github_pages.md +5 -0
  43. data/docs/users/notes/html_attributes.md +5 -0
  44. data/docs/users/notes/index.md +6 -0
  45. data/docs/users/notes/kramdown_bug.md +41 -0
  46. data/docs/users/notes/managing_images.md +21 -0
  47. data/docs/{migration.md → users/notes/migration_1.md} +1 -1
  48. data/docs/users/notes/migration_2.md +99 -0
  49. data/docs/users/presets/cropping.md +60 -0
  50. data/docs/users/presets/default.md +32 -0
  51. data/docs/users/presets/examples.md +111 -0
  52. data/docs/users/presets/fallback_image.md +28 -0
  53. data/docs/users/presets/html_attributes.md +26 -0
  54. data/docs/users/presets/image_formats.md +21 -0
  55. data/docs/users/presets/image_quality.md +120 -0
  56. data/docs/users/presets/index.md +75 -0
  57. data/docs/users/presets/link_source.md +16 -0
  58. data/docs/users/presets/markup_formats/fragments.md +48 -0
  59. data/docs/users/presets/markup_formats/javascript_friendly.md +57 -0
  60. data/docs/users/presets/markup_formats/readme.md +43 -0
  61. data/docs/users/presets/markup_formats/standard_html.md +25 -0
  62. data/docs/users/presets/media_queries.md +36 -0
  63. data/docs/users/presets/nomarkdown_override.md +17 -0
  64. data/docs/users/presets/pixel_ratio_srcsets.md +32 -0
  65. data/docs/users/presets/quality_width_graph.png +0 -0
  66. data/docs/users/presets/width_height_attributes.md +34 -0
  67. data/docs/users/presets/width_srcsets.md +123 -0
  68. data/docs/users/presets/writing_presets.md +65 -0
  69. data/docs/users/tutorial.md +97 -0
  70. data/jekyll_picture_tag.gemspec +38 -23
  71. data/lib/jekyll_picture_tag.rb +11 -10
  72. data/lib/jekyll_picture_tag/cache.rb +64 -3
  73. data/lib/jekyll_picture_tag/defaults/global.rb +18 -0
  74. data/lib/jekyll_picture_tag/defaults/presets.rb +57 -0
  75. data/lib/jekyll_picture_tag/images.rb +4 -0
  76. data/lib/jekyll_picture_tag/images/generated_image.rb +92 -0
  77. data/lib/jekyll_picture_tag/images/image_file.rb +90 -0
  78. data/lib/jekyll_picture_tag/{img_uri.rb → images/img_uri.rb} +3 -10
  79. data/lib/jekyll_picture_tag/{source_image.rb → images/source_image.rb} +44 -9
  80. data/lib/jekyll_picture_tag/instructions.rb +70 -6
  81. data/lib/jekyll_picture_tag/instructions/children/config.rb +128 -0
  82. data/lib/jekyll_picture_tag/instructions/children/context.rb +24 -0
  83. data/lib/jekyll_picture_tag/instructions/children/params.rb +90 -0
  84. data/lib/jekyll_picture_tag/instructions/children/parsers.rb +41 -0
  85. data/lib/jekyll_picture_tag/instructions/children/preset.rb +182 -0
  86. data/lib/jekyll_picture_tag/instructions/parents/conditional_instruction.rb +69 -0
  87. data/lib/jekyll_picture_tag/instructions/parents/env_instruction.rb +29 -0
  88. data/lib/jekyll_picture_tag/output_formats/basic.rb +5 -17
  89. data/lib/jekyll_picture_tag/parsers.rb +5 -0
  90. data/lib/jekyll_picture_tag/{instructions → parsers}/arg_splitter.rb +1 -1
  91. data/lib/jekyll_picture_tag/parsers/configuration.rb +28 -0
  92. data/lib/jekyll_picture_tag/{instructions → parsers}/html_attributes.rb +1 -1
  93. data/lib/jekyll_picture_tag/parsers/preset.rb +43 -0
  94. data/lib/jekyll_picture_tag/{instructions → parsers}/tag_parser.rb +15 -12
  95. data/lib/jekyll_picture_tag/router.rb +35 -93
  96. data/lib/jekyll_picture_tag/srcsets/basic.rb +4 -10
  97. data/lib/jekyll_picture_tag/utils.rb +24 -20
  98. data/lib/jekyll_picture_tag/version.rb +1 -1
  99. data/readme.md +15 -13
  100. metadata +215 -93
  101. data/.travis.yml +0 -8
  102. data/Dockerfile +0 -9
  103. data/docs/_layouts/directory.html +0 -32
  104. data/docs/assets/style.css +0 -31
  105. data/docs/contributing.md +0 -109
  106. data/docs/example_presets.md +0 -116
  107. data/docs/global_configuration.md +0 -173
  108. data/docs/installation.md +0 -45
  109. data/docs/notes.md +0 -91
  110. data/docs/output.md +0 -63
  111. data/docs/presets.md +0 -391
  112. data/docs/releases.md +0 -70
  113. data/docs/usage.md +0 -157
  114. data/jekyll-picture-tag.gemspec +0 -52
  115. data/lib/jekyll-picture-tag.rb +0 -25
  116. data/lib/jekyll_picture_tag/cache/base.rb +0 -59
  117. data/lib/jekyll_picture_tag/cache/generated.rb +0 -20
  118. data/lib/jekyll_picture_tag/cache/source.rb +0 -19
  119. data/lib/jekyll_picture_tag/defaults/global.yml +0 -11
  120. data/lib/jekyll_picture_tag/defaults/presets.yml +0 -11
  121. data/lib/jekyll_picture_tag/generated_image.rb +0 -140
  122. data/lib/jekyll_picture_tag/instructions/configuration.rb +0 -121
  123. data/lib/jekyll_picture_tag/instructions/preset.rb +0 -103
  124. 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: 1fdaad2f56cc244f8bce4ffcf5689630fe71ec0b7e091d91e289a1dc7d6740d8
4
- data.tar.gz: 971d590896ef6396a86c8ce6f6dd7fef46804443b4c2b76226e5e774dc5cd204
3
+ metadata.gz: 3f9db202e681087ec43ee9cc26b3e32dbc76de45c394ea834039b72f100215e1
4
+ data.tar.gz: 2c195508efb7d9e05bda81dd529366f47fa25c5e1ce7bc6ca60edbd5e2db8a4f
5
5
  SHA512:
6
- metadata.gz: 77fa8b7e4b3db8839a988f0613b8e3b0257ff92f7e379db12bf9de1da3644acf7d6a6bfa0fb82b900fb71d2e6775d842d2187ec1e13617cf268098f98ad41e12
7
- data.tar.gz: b9efeae7cff9bc5a962d9c076d735c00011ad231cbac264b232a29a6f4ec3af101d9f905a0cde61283b0b739b8d9388e92ccad7f600aacccc382c2845edbd71e
6
+ metadata.gz: fc17dcd0e8a5ffb70f3ca67bf22e8bb34b2e9c5af61ffabaf5e92e853b01bec6a0b56a01f45ccc44f55be11112aed75e04ac293e4d8012af3b135ce20aaa84fb
7
+ data.tar.gz: '09b01489bcd3dc1e7428ae41fe6f603488f1863cc731ad0d70f5861cb1c3525dda04f7445a9f97d22f005b5a900c8d6ba019467f7379575fe07c0370e9a0d8cb'
data/.envrc ADDED
@@ -0,0 +1,4 @@
1
+ # if you run bundle install --binstubs, you won't have to use bundle exec all the time.
2
+ export PATH=$(git rev-parse --show-toplevel)/bin:$PATH
3
+ # Suppress a few vips warnings that pop up during the tests
4
+ export VIPS_WARNING=0
@@ -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
@@ -1,4 +1,5 @@
1
1
  /.bundle/
2
+ /docs/.bundle/
2
3
  /.yardoc
3
4
  /Gemfile.lock
4
5
  /_yardoc/
@@ -13,3 +14,5 @@ jekyll-picture-tag.iml
13
14
  /docs/_site/
14
15
  /docs/.jekyll-cache/
15
16
  /docs/.sass-cache/
17
+ /bin/
18
+ /docs/bin/
data/.rubocop.yml CHANGED
@@ -1,6 +1,34 @@
1
- Style/FrozenStringLiteralComment:
2
- Enabled: false
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.5.3
1
+ 2.6.6
data/docs/.envrc ADDED
@@ -0,0 +1,2 @@
1
+ # if you run bundle install --binstubs, you won't have to use bundle exec all the time.
2
+ export PATH=$(git rev-parse --show-toplevel)/docs/bin:$PATH
data/docs/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'github-pages', group: :jekyll_plugins
4
- gem 'jekyll-theme-slate'
3
+ group :jekyll_plugins do
4
+ gem 'github-pages'
5
+ gem 'jekyll-rtd-theme'
6
+ end
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.12.2)
31
+ ffi (1.13.1)
32
32
  forwardable-extended (2.6.0)
33
33
  gemoji (3.0.1)
34
- github-pages (204)
34
+ github-pages (206)
35
35
  github-pages-health-check (= 1.16.1)
36
- jekyll (= 3.8.5)
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.13.0)
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.12.3)
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.5)
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.0)
207
+ minitest (5.14.1)
206
208
  multipart-post (2.1.1)
207
- nokogiri (1.10.9)
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.13.0)
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.3.0)
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-slate
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
- theme: jekyll-theme-slate
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
- defaults:
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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ sort: 2
3
+ ---
4
+
5
+ # Development
6
+
7
+ {% include list.liquid %}
@@ -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.