jekyll-picture-tag-ng 0.2.3 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -7
- data/lib/jekyll-picture-tag-ng/version.rb +1 -1
- data/lib/jekyll-picture-tag-ng.rb +9 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16f42bd13a6802cd5f6ed65bbeaf0bce3dace3f9ccf7c0139786545c8bc3935c
|
4
|
+
data.tar.gz: c098473b51d98a4a79ad16baf584d79c643ff17ffbac15d3f909d29f2a9e420d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 40db0e283c5bcba0ae73096bc95bcb294853f115e7f86c05a616ad1c86501660c8460b453484c7990ddaa839caba8277a5fc309ab6306c03979c6e987e7d892c
|
7
|
+
data.tar.gz: f57d381abdb4acca624ced2cfab14112991d4fa94b8e7854ef654173eef16da6f96f73807f1c09819949f373b1f1d5b850b634e7c784b169c2b9f49598fa1a87
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Jekyll Picture Tag NG
|
2
2
|
|
3
|
-
This plugin will automatically generate variants of your pictures on build, and change the Kramdown rendering to use the variants with HTML picture tags when including pictures from markdown.
|
3
|
+
This plugin will automatically generate variants of your pictures on build, and change the Kramdown rendering to use the variants with HTML picture tags when including pictures from markdown. Developed for and used on [Crocodile Couture](https://crocodile-couture.fr)
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -51,9 +51,9 @@ After adding the custom action to your repository, you'll need to update the rep
|
|
51
51
|
|
52
52
|
By installing the plugin and activating it, `jekyll build` and `jekyll serve` commands will perform an additional step to generate several versions of your `jpeg` and `webp` files : for each of these files in the source directory, and each version defined, a file will be output in the `img/{version}` directory of the rendered website.
|
53
53
|
|
54
|
-
When using the default markdown syntax for including pictures (`![Alt text](PICTURE_URL)`) with the Kramdown renderer, `<picture>` tags with appropriate `<source>` children tags will be output.
|
54
|
+
When using the default markdown syntax for including pictures (`![Alt text](PICTURE_URL)`) with the Kramdown renderer, `<picture>` tags with appropriate `<source>` children tags will be output. This will automatically exclude any picture element with the `src` attribute starting with "`http://`" or "`https://`".
|
55
55
|
|
56
|
-
When working locally,
|
56
|
+
When working locally, you can use the `--incremental` option to prevent Jekyll from re-generating all the pictures (which can take a long time) when re-launching the `jekyll serve` command. This is useful when developing a plugin or tweaking the `_config.yml` file (which both require you to frequently re-launch the `jekyll serve` command). However, be careful about using this option when changing the plugin's output image formats : the plugin will skip generating the new output formats in `--incremental` mode for pictures that were previously generated for the old output formats.
|
57
57
|
|
58
58
|
### Configuration
|
59
59
|
|
@@ -73,18 +73,18 @@ The example above is equivalent to the defaults.
|
|
73
73
|
|
74
74
|
- `background_color` is the color used to replace transparency when converting from `webp` to `jpeg`
|
75
75
|
- `picture_versions` maps version names to target widths in pixels. The default configuration above produces output files 700px wide in `img/m/` and 400px wide in `img/s/`.
|
76
|
-
- `parallel` is a boolean indicating if you want to generate the output files in parallel threads. With a website that has a lot of large pictures, I get ~30% speed improvements when generating the site locally.
|
77
|
-
- `threads` is the number of concurrent threads for generating the website (only used if `parallel` is `true`
|
76
|
+
- `parallel` is a boolean indicating if you want to generate the output files in parallel threads. With a website that has a lot of large pictures, I get ~30% speed improvements when generating the site locally.
|
77
|
+
- `threads` is the number of concurrent threads for generating the website (only used if `parallel` is `true`)
|
78
78
|
|
79
79
|
## Development
|
80
80
|
|
81
|
-
After cloning the repo, you can run the following commands in a local
|
81
|
+
After cloning the repo, you can run the following commands in a local Jekyll website's folder to start hacking on the code of `jekyll-picture-tag-ng` (you'll need to replace the path in the second command) :
|
82
82
|
|
83
83
|
$ bundle remove jekyll-picture-tag-ng # if you previously used jekyll-picture-tag-ng from rubygems
|
84
84
|
$ bundle add --path /absolute/or/relative/path/to/your/local/jekyll-picture-tag-ng/repo jekyll-picture-tag-ng
|
85
85
|
$ bundle exec jekyll serve # Re-run this when you want to test changes to your local jekyll-picture-tag-ng
|
86
86
|
|
87
|
-
To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [
|
87
|
+
To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [the Rubygems repository](https://rubygems.org).
|
88
88
|
|
89
89
|
## Contributing
|
90
90
|
|
@@ -127,6 +127,10 @@ module Jekyll
|
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
130
|
+
def reset_thread_pool
|
131
|
+
@thread_pool = nil
|
132
|
+
end
|
133
|
+
|
130
134
|
def next_task
|
131
135
|
@task_queue ||= []
|
132
136
|
@task_queue.shift
|
@@ -139,7 +143,7 @@ module Jekyll
|
|
139
143
|
|
140
144
|
def write
|
141
145
|
if config["picture_tag_ng"]["parallel"]
|
142
|
-
Jekyll.logger.info "Writing files in parallel
|
146
|
+
Jekyll.logger.info "Writing files in parallel"
|
143
147
|
Jekyll::Commands::Doctor.conflicting_urls(self)
|
144
148
|
each_site_file do |item|
|
145
149
|
regenerator.regenerate?(item) && add_task { item.write(dest) }
|
@@ -148,6 +152,7 @@ module Jekyll
|
|
148
152
|
add_task { -1 }
|
149
153
|
end
|
150
154
|
thread_pool.each(&:join)
|
155
|
+
reset_thread_pool
|
151
156
|
regenerator.write_metadata
|
152
157
|
Jekyll::Hooks.trigger :site, :post_write, self
|
153
158
|
nil
|
@@ -196,7 +201,9 @@ module Kramdown
|
|
196
201
|
require "cgi"
|
197
202
|
res = "<picture>"
|
198
203
|
new_src = el.attr["src"]
|
199
|
-
|
204
|
+
puts el.attr["src"]
|
205
|
+
if File.extname(el.attr["src"]) =~ /(\.jpg|\.jpeg|\.webp)$/i &&
|
206
|
+
el.attr["src"] !~ %r{^https?://}
|
200
207
|
picture_versions.each_with_index do |(version, geometry), index|
|
201
208
|
src_base = File.join(
|
202
209
|
"/img",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-picture-tag-ng
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- pcouy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|