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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a2819edd23c6ea86844dc240bd5e7919d2feb274973fa0dd3f6a2f8309bfc32
4
- data.tar.gz: 4cac1933e03ad045a4e2d362b8d41af0142bf93896658503965df3bcdda11b2d
3
+ metadata.gz: 16f42bd13a6802cd5f6ed65bbeaf0bce3dace3f9ccf7c0139786545c8bc3935c
4
+ data.tar.gz: c098473b51d98a4a79ad16baf584d79c643ff17ffbac15d3f909d29f2a9e420d
5
5
  SHA512:
6
- metadata.gz: 5542a64a8d14317ad90380d0faeea45327b99590af770f0c059bfb7f378148336b8848d130e46f04fef2ef13fdc1026f91bd671115558ec5ee4a71762df918c6
7
- data.tar.gz: 6c3aff4446150db753872190fe6d6c7c48d85f229ca456b9ae0ff9be703cb3ce44a18e3e4cb7b15fc86e72bccf0940bc754f73722be1aadc4a023cdd88284b0d
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. Developped for and used on [Crocodile Couture](https://crocodile-couture.fr)
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, it is recommended to use the `--incremental` option which will prevent Jekyll from re-generating all the picture versions (can take quite some time) every time you save a file. However, there is a catch : when using `--incremental`, if you edit your configuration file to change the output formats and build again, your pages will not be updated with the appropriate `<source>` tags for the new versions.
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. However, this seems to make building the site with the recommended Github workflow fail.
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 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 :
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 [rubygems.org](https://rubygems.org).
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
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Jekyll
4
4
  module PictureTag
5
- VERSION = "0.2.3"
5
+ VERSION = "0.3.0"
6
6
  end
7
7
  end
@@ -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 (should not work on GH Pages)"
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
- if File.extname(el.attr["src"]) =~ /(\.jpg|\.jpeg|\.webp)$/i
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.2.3
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-25 00:00:00.000000000 Z
11
+ date: 2023-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll