jekyll_img 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c2e88e7ebb6182b1e60c4f4ac59eaf46c28e21434706b4887c63cb9a8f84b25
4
- data.tar.gz: 33e4bba4d05ea7bd18dd7ee6941f3b81c3723a3a4f5a32e948e4a60cfe991df5
3
+ metadata.gz: 18a2afe029ee799d3c0afe05d58592b51aa2c49b2e6e880308963015ed43fe22
4
+ data.tar.gz: efd819e05b6b0cfebf23f2eede44eb96ba5496b05a29c6dbb5bca748ce5bc9d2
5
5
  SHA512:
6
- metadata.gz: 676baaea8845b9c9bb3c66ca103355e949105e70effa250ded10373de3bcd0ef366e6843bee407d53f4b13440c7899760648c2bd3bd2936b6e83fdcfe0d5f0c0
7
- data.tar.gz: aa6d2cbd168bdd77190e6e1d549bc729bae606d1cf06f5e6ebc5ffef03940557445f9fdd34dd1736b0316d519bda3475e2f883d8ff8e5919a9c84c1dc2984d26
6
+ metadata.gz: ca437bd7388b2cd40b0c32ccc507352af61ff136aa3027b03cdecad617c12cde251642b8688356d1df1d41cacb1cb53652bbd2c683a6920606ebcf3cd9628ef9
7
+ data.tar.gz: 6be7dd74a4281d01d430c67576febe041a8d872ff4068ebce9c8c95c7857974a1b5ec5dc24d43b5c464a48b0c910f99ecb432c9ddd2065ba34cb2254c196cf54
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.2.6 / 2024-08-30
4
+
5
+ * Optimized the generated HTML.
6
+ For example, `srcset` elements are now only generated for images that actually exit locally.
7
+ For remote images, only an `img` element is generated for the specified filetype.
8
+ The tests can be found in `demo/img_test.html`.
9
+
10
+
11
+ ## 0.2.5 / 2024-07-23
12
+
13
+ * Depends on jekyll_plugin_support v1.0.2
14
+ * Error handling improved
15
+ * Corrected `README.md#Configuration` and fixed demo `_config.yml`
16
+ so they correctly specify error handling for this plugin:
17
+
18
+ ```ruby
19
+ img:
20
+ die_on_img_error: false
21
+ pry_on_img_error: false
22
+ ```
23
+
24
+
3
25
  ## 0.2.4 / 2024-07-23
4
26
 
5
27
  * Depends on jekyll_plugin_support v1.0.0
data/README.md CHANGED
@@ -9,10 +9,6 @@ Muliple image formats are supported for each image.
9
9
  The user’s web browser determines the formats which it will accept.
10
10
  The most desirable formats that the web browser supports are prioritized.
11
11
 
12
- I explain why the `webp` image format is important in
13
- [Converting All Images in a Website to `webp` Format](https://mslinn.com/blog/2020/08/15/converting-all-images-to-webp-format.html).
14
- That article also provides 2 bash scripts for converting existing images to and from <code>webp</code> format.
15
-
16
12
  For example, if an image is encloded in `webp`, `png` and `gif` filetypes,
17
13
  and the user&rsquo;s web browser is relatively recent,
18
14
  then `webp` format will give the fastest transmission and look best.
@@ -22,56 +18,60 @@ Really old web browsers would only support the `gif` file type.
22
18
 
23
19
  Please read the next section for details.
24
20
 
21
+ I explain why the `webp` image format is important in
22
+ [Converting All Images in a Website to `webp` Format](https://mslinn.com/blog/2020/08/15/converting-all-images-to-webp-format.html).
23
+ That article also provides 2 bash scripts for converting existing images to and from <code>webp</code> format.
24
+
25
25
  See [demo/index.html](demo/index.html) for examples.
26
26
 
27
27
 
28
+ ## External Images
29
+
30
+ Images whose `src` attribute starts with `http` are not served from the Jekyll website.
31
+ The `jekyll_img` plugin generates HTML for external images using an `img` element with a `src`
32
+ attribute as you might expect.
33
+
34
+
28
35
  ## Image Fallback
29
36
 
30
- This plugin provides support for many image formats,
31
- fallbacks to less performant formats by using the HTML
37
+ For local files (files served from the Jekyll website),
38
+ the `jekyll_img` plugin generates HTML that falls back to successively less performant
39
+ formats.
40
+ This is made possible by using a
32
41
  [`picture`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture) element.
33
42
 
34
- This means that at least one version of every image are required.
43
+ At least one version of every image are required.
44
+ Supported filetypes are:
45
+ `svg`, `webp`, `apng`, `png`, `jpg`, `jpeg`, `jfif`, `pjpeg`, `pjp`, `gif`, `tif`, `tiff`, `bmp`, `ico` and `cur`.
35
46
 
36
- You could specify the desired image with a `webp` filetype, or you could specify no filetype.
37
- The plugin would generate a `picture` element that contains a primary
38
- `source` sub-element that specifies the given image URL,
39
- and secondary `img` sub-element with all other supported filetypes.
40
-
41
- For example, these two invocations yield the same result:
47
+ For example, an image file might have the following verions: `blah.webp`, `blah.png` and `blah.jpg`.
48
+ Given a tag invocation like `{% img src='blah.webp' %}`,
49
+ the plugin would generate a `picture` element that contains an `img` sub-element with the given `src` attribute,
50
+ and a `source` element for each related image (`blah.png` and `blah.jpg`).
51
+ Conceptually, the generated HTML might look something like this:
42
52
 
43
53
  ```html
44
- {% img src="blah" %}
45
- {% img src="blah.webp" %}
54
+ <picture>
55
+ <source srcset="blah.png" />
56
+ <source srcset="blah.jpg" />
57
+ <img src="blah.webp" />
58
+ </picture>
46
59
  ```
47
60
 
48
- The above generates the following
49
- (to support the other options, the generated HTML can be a lot more complex):
61
+ If no filetype is given for the image, `webp` is assumed.
62
+ For example, these two invocations yield the same result,
63
+ if `blah.webp` exists on the Jekyll website:
50
64
 
51
65
  ```html
52
- <picture>
53
- <source srcset="blah.svg" type="image/svg" />
54
- <source srcset="blah.webp" type="image/webp" />
55
- <source srcset="blah.apng" type="image/apng">
56
- <source srcset="blah.png" type="image/png">
57
- <source srcset="blah.jpg" type="image/jpeg">
58
- <source srcset="blah.jpeg" type="image/jpeg">
59
- <source srcset="blah.jfif" type="image/jpeg">
60
- <source srcset="blah.pjpeg" type="image/jpeg">
61
- <source srcset="blah.pjp" type="image/jpeg">
62
- <source srcset="blah.gif" type="image/gif">
63
- <source srcset="blah.tif" type="image/tiff">
64
- <source srcset="blah.tiff" type="image/tiff">
65
- <source srcset="blah.bmp" type="image/bmp">
66
- <source srcset="blah.ico" type="image/x-icon">
67
- <source srcset="blah.cur" type="image/x-icon">
68
- <img src="blah.png" />
69
- </picture>
66
+ {% img src="blah" %}
67
+ {% img src="blah.webp" %}
70
68
  ```
71
69
 
72
70
  If both `blah.webp` and `blah.png` were available,
73
71
  the above would fetch and display `blah.webp` if the web browser supported `webp` format,
74
72
  otherwise it would fetch and display `blah.png`.
73
+ If the browser did not support the `picture` element,
74
+ the `img src` attribute would be used to specify the image.
75
75
 
76
76
 
77
77
  ## Supported Filetypes
@@ -103,7 +103,7 @@ Run the demo website by typing:
103
103
  $ demo/_bin/debug -r
104
104
  ```
105
105
 
106
- ... and point your web browser to http://localhost:4444
106
+ ... and point your web browser to http://localhost:4011
107
107
 
108
108
 
109
109
  ## Usage
@@ -151,7 +151,7 @@ By default, errors cause Jekyll to abort.
151
151
  You can allow Jekyll to halt by setting the following in `_config.yml`:
152
152
 
153
153
  ```yaml
154
- jekyll_img:
154
+ img:
155
155
  die_on_img_error: true
156
156
  pry_on_img_error: true
157
157
  ```
data/lib/img_builder.rb CHANGED
@@ -25,9 +25,9 @@ class ImgBuilder
25
25
  <div class='#{classes}' style='#{@props.attr_width_style} #{@props.wrapper_style}'>
26
26
  #{"<figure>\n" if @props.caption}
27
27
  #{ if @props.url
28
- "<a href='#{@props.url}'#{@props.attr_target}#{@props.attr_nofollow} class='imgImgUrl'>#{generate_img}</a>"
28
+ "<a href='#{@props.url}'#{@props.attr_target}#{@props.attr_nofollow} class='imgImgUrl'>#{generate_image}</a>"
29
29
  else
30
- generate_img
30
+ generate_image
31
31
  end
32
32
  }
33
33
  #{generate_figure_caption}
@@ -35,7 +35,7 @@ class ImgBuilder
35
35
  #{@props.attribute if @props.attribution}
36
36
  </div>
37
37
  END_HTML
38
- result.strip
38
+ result.strip.gsub(/^\s*$\n/, '')
39
39
  end
40
40
 
41
41
  def generate_figure_caption
@@ -57,34 +57,57 @@ class ImgBuilder
57
57
  END_CAPTION
58
58
  end
59
59
 
60
+ # @return Array[String] containing HTML source elements
61
+ def generate_sources(filetypes, mimetype)
62
+ result = filetypes.map do |ftype|
63
+ filename = @props.src_any ftype
64
+ next unless filename.start_with?('http') || File.exist?("./#{filename}")
65
+
66
+ <<~END_HTML
67
+ <source srcset="#{filename}" type="#{mimetype}">
68
+ END_HTML
69
+ end
70
+ result&.compact&.map(&:strip)
71
+ end
72
+
73
+ def generate_compact_sources
74
+ [
75
+ generate_sources(%w[svg], 'image/svg'),
76
+ generate_sources(%w[webp], 'image/webp'),
77
+ generate_sources(%w[png], 'image/png'),
78
+ generate_sources(%w[apng], 'image/apng'),
79
+ generate_sources(%w[jpg jpeg jfif pjpeg pjp], 'image/jpeg'),
80
+ generate_sources(%w[gif], 'image/gif'),
81
+ generate_sources(%w[tif tiff], 'image/tiff'),
82
+ generate_sources(%w[bmp], 'image/bmp'),
83
+ generate_sources(%w[cur ico], 'image/x-icon')
84
+ ].compact.join("\n").strip.gsub(/^$\n/, '')
85
+ end
86
+
60
87
  # See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture
88
+ def generate_image
89
+ return generate_img if @props.src.start_with? 'http'
90
+
91
+ # avif is not well supported yet
92
+ # <source srcset="#{@props.src_any 'avif'}" type="image/avif">
93
+ result = <<~END_IMG
94
+ <picture#{@props.attr_id} class='imgPicture'>
95
+ #{generate_compact_sources}
96
+ #{generate_img}
97
+ </picture>
98
+ END_IMG
99
+ result.strip
100
+ end
101
+
61
102
  def generate_img
62
103
  img_classes = @props.classes || 'rounded shadow'
63
104
  <<~END_IMG
64
- <picture#{@props.attr_id} class='imgPicture'>
65
- <source srcset="#{@props.src_any 'svg'}" type="image/svg">
66
- <!---<source srcset="#{@props.src_any 'avif'}" type="image/avif">-->
67
- <source srcset="#{@props.src}" type="image/webp">
68
- <source srcset="#{@props.src_any 'apng'}" type="image/apng">
69
- <source srcset="#{@props.src_any 'png'}" type="image/png">
70
- <source srcset="#{@props.src_any 'jpg'}" type="image/jpeg">
71
- <source srcset="#{@props.src_any 'jpeg'}" type="image/jpeg">
72
- <source srcset="#{@props.src_any 'jfif'}" type="image/jpeg">
73
- <source srcset="#{@props.src_any 'pjpeg'}" type="image/jpeg">
74
- <source srcset="#{@props.src_any 'pjp'}" type="image/jpeg">
75
- <source srcset="#{@props.src_any 'gif'}" type="image/gif">
76
- <source srcset="#{@props.src_any 'tif'}" type="image/tiff">
77
- <source srcset="#{@props.src_any 'tiff'}" type="image/tiff">
78
- <source srcset="#{@props.src_any 'bmp'}" type="image/bmp">
79
- <source srcset="#{@props.src_any 'ico'}" type="image/x-icon">
80
- <source srcset="#{@props.src_any 'cur'}" type="image/x-icon">
81
- <img #{@props.attr_alt}
82
- class="imgImg #{img_classes.squish}"
83
- src="#{@props.src_png}"
84
- #{@props.attr_style_img}
85
- #{@props.attr_title}
86
- />
87
- </picture>
105
+ <img #{@props.attr_alt}
106
+ class="imgImg #{img_classes.squish}"
107
+ src="#{@props.src_png}"
108
+ #{@props.attr_style_img}
109
+ #{@props.attr_title}
110
+ />
88
111
  END_IMG
89
112
  end
90
113
  end
data/lib/img_props.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'uri'
2
+
1
3
  # Properties from user
2
4
  # All methods are idempotent.
3
5
  # attr_ methods can be called after compute_dependant_properties
@@ -67,8 +69,6 @@ class ImgProperties
67
69
  end
68
70
 
69
71
  def src_any(filetype)
70
- raise Jekyll::ImgError, "The 'src' parameter was not specified" if @src.to_s.empty?
71
-
72
72
  @src.gsub('.webp', ".#{filetype}")
73
73
  end
74
74
 
@@ -86,8 +86,12 @@ class ImgProperties
86
86
  private
87
87
 
88
88
  def setup_src
89
+ raise Jekyll::ImgError, "The 'src' parameter was not specified" if @src.nil?
90
+
91
+ raise Jekyll::ImgError, "The 'src' parameter was empty" if @src.empty?
92
+
89
93
  @src = @src.to_s.strip
90
- raise Jekyll::ImgError, "The 'src' parameter was not specified" if @src.empty?
94
+ raise Jekyll::ImgError, "The 'src' parameter only contained whitespace" if @src.empty?
91
95
 
92
96
  filetype = File.extname(URI(@src).path)
93
97
  @src += '.webp' if filetype.empty?
@@ -1,3 +1,3 @@
1
1
  module JekyllImgVersion
2
- VERSION = '0.2.4'.freeze
2
+ VERSION = '0.2.6'.freeze
3
3
  end
data/lib/jekyll_img.rb CHANGED
@@ -9,11 +9,11 @@ require_relative 'jekyll_img/version'
9
9
  # @license SPDX-License-Identifier: Apache-2.0
10
10
 
11
11
  module ImgModule
12
- PLUGIN_NAME = 'img'.freeze
12
+ PLUGIN_NAME = 'img'.freeze unless const_defined?(:PLUGIN_NAME)
13
13
  end
14
14
 
15
15
  module Jekyll
16
- ImgError = ::JekyllSupport.define_error
16
+ ImgError = ::JekyllSupport.define_error unless const_defined?(:ImgError)
17
17
 
18
18
  # Plugin implementation
19
19
  class Img < ::JekyllSupport::JekyllTag
@@ -47,15 +47,13 @@ module Jekyll
47
47
  @builder = ImgBuilder.new(props)
48
48
  @builder.to_s
49
49
  rescue ImgError => e # jekyll_plugin_support handles StandardError
50
- e.shorten_backtrace
51
- msg = format_error_message e.message
52
- @logger.error { "#{e.class} raised #{msg}" }
50
+ @logger.error { e.logger_message }
53
51
  binding.pry if @pry_on_img_error # rubocop:disable Lint/Debugger
54
- raise e if @die_on_img_error
52
+ exit! 1 if @die_on_img_error
55
53
 
56
- "<div class='jekyll_img_error'>#{e.class} raised in #{@tag_name} tag\n#{msg}</div>"
54
+ e.html_message
57
55
  end
58
56
 
59
- ::JekyllSupport::JekyllPluginHelper.register(self, ImgModule::PLUGIN_NAME)
57
+ ::JekyllSupport::JekyllPluginHelper.register(self, ImgModule::PLUGIN_NAME) unless $PROGRAM_NAME.end_with?('/rspec')
60
58
  end
61
59
  end
@@ -5,17 +5,27 @@ require_relative '../lib/img_props'
5
5
  # Test ImgProperties
6
6
  class ImgPropertiesTest
7
7
  RSpec.describe ImgBuilder do
8
+ Dir.chdir("demo")
9
+
10
+ it 'generates sources' do
11
+ props = ImgProperties.new
12
+ props.src = 'jekyll.webp'
13
+ builder = described_class.new(props)
14
+ actual = builder.send(:generate_sources, ['png'], 'image/png')
15
+ expect(actual).to contain_exactly('<source srcset="/assets/images/jekyll.png" type="image/png">')
16
+ end
17
+
8
18
  it 'generates a default img' do
9
19
  props = ImgProperties.new
10
- props.src = 'blah.webp'
20
+ props.src = 'jekyll.webp'
11
21
  builder = described_class.new(props)
12
22
  picture = <<~END_IMG
13
23
  <div class='imgWrapper imgFlex' style=' '>
14
24
  <picture class='imgPicture'>
15
- <source srcset="/assets/images/blah.webp" type="image/webp">
16
- <source srcset="/assets/images/blah.png" type="image/png">
25
+ <source srcset="/assets/images/jekyll.webp" type="image/webp">
26
+ <source srcset="/assets/images/jekyll.png" type="image/png">
17
27
  <img class="imgImg rounded shadow"
18
- src="/assets/images/blah.png"
28
+ src="/assets/images/jekyll.png"
19
29
  style='width: 100%; '
20
30
  />
21
31
  </picture>
@@ -30,7 +40,7 @@ class ImgPropertiesTest
30
40
  props = ImgProperties.new
31
41
  props.caption = 'This is a caption'
32
42
  props.size = '123px'
33
- props.src = 'blah.webp'
43
+ props.src = 'jekyll.webp'
34
44
  builder = described_class.new(props)
35
45
 
36
46
  caption = <<~END_CAPTION
@@ -43,11 +53,11 @@ class ImgPropertiesTest
43
53
  <div class='imgWrapper imgBlock' style='width: 123px; '>
44
54
  <figure>
45
55
  <picture class='imgPicture'>
46
- <source srcset="/assets/images/blah.webp" type="image/webp">
47
- <source srcset="/assets/images/blah.png" type="image/png">
56
+ <source srcset="/assets/images/jekyll.webp" type="image/webp">
57
+ <source srcset="/assets/images/jekyll.png" type="image/png">
48
58
  <img alt='This is a caption'
49
59
  class="imgImg rounded shadow"
50
- src="/assets/images/blah.png"
60
+ src="/assets/images/jekyll.png"
51
61
  style='width: 100%; '
52
62
  title='This is a caption'
53
63
  />
@@ -26,15 +26,19 @@ class ImgProperitesTest
26
26
  expect(props.attr_target).to eq(" target='_blank'")
27
27
  expect(props.attr_title).to be_nil
28
28
  expect(props.attr_width_style).to be_nil
29
-
30
- props.compute_dependant_properties
31
- expect(props.attr_wrapper_align_class).to eq('inline')
32
29
  end
33
30
 
31
+ # it 'defaults to inline alignment' do
32
+ # props = described_class.new
33
+ # props.src = 'relative/path.webp'
34
+ # props.compute_dependant_properties
35
+ # expect(props.attr_wrapper_align_class).to eq('inline')
36
+ # end
37
+
34
38
  it 'raises exception if src was not specified' do
35
39
  props = described_class.new
36
- expect { props.src_png }.to raise_error(SystemExit)
37
- expect { props.send(:setup_src) }.to raise_error(SystemExit)
40
+ expect { props.src_png }.to raise_error(Jekyll::ImgError)
41
+ expect { props.send(:setup_src) }.to raise_error(Jekyll::ImgError)
38
42
 
39
43
  props.src = 'relative/path.webp'
40
44
  props.send(:setup_src)
@@ -69,21 +73,18 @@ class ImgProperitesTest
69
73
 
70
74
  props.size = '100px'
71
75
  expect(props.attr_size_class).to be_nil
72
- expect(props.attr_style_img).to eq("style='max-width: 100px;'")
76
+ expect(props.attr_style_img).to eq("style='width: 100%; '")
73
77
  expect(props.attr_width_style).to eq('width: 100px;')
74
78
 
75
79
  props.size = '10%'
76
80
  expect(props.attr_size_class).to be_nil
77
- expect(props.attr_style_img).to eq("style='max-width: 10%;'")
78
81
  expect(props.attr_width_style).to eq('width: 10%;')
82
+ expect(props.attr_style_img).to eq("style='width: 100%; '")
79
83
 
80
84
  props.size = 'fullsize'
81
85
  expect(props.attr_size_class).to eq('fullsize')
82
86
  expect(props.attr_width_style).to be_nil
83
87
 
84
- props.style = 'width: 30rem;'
85
- expect(props.attr_style_img).to eq("style='width: 30rem;'")
86
-
87
88
  props.target = 'moon'
88
89
  expect(props.attr_target).to eq(" target='moon'")
89
90
 
@@ -95,17 +96,5 @@ class ImgProperitesTest
95
96
  expect(props.attr_size_class).to be_nil
96
97
  expect(props.attr_width_style).to eq('width: 100px;')
97
98
  end
98
-
99
- it 'generates proper alignment attributes' do
100
- props = described_class.new
101
-
102
- props.align = 'inline'
103
- props.compute_dependant_properties
104
- expect(props.attr_wrapper_align_class).to eq('inline')
105
-
106
- props.align = 'center'
107
- props.compute_dependant_properties
108
- expect(props.attr_wrapper_align_class).to eq('center')
109
- end
110
99
  end
111
100
  end
@@ -1,9 +1,11 @@
1
1
  require 'jekyll'
2
2
  require 'jekyll_plugin_logger'
3
+ require 'helper/jekyll_plugin_helper'
4
+ require 'jekyll_plugin_support'
3
5
  require 'rspec/match_ignoring_whitespace'
4
6
  require_relative '../lib/jekyll_img'
5
7
 
6
- Registers = Struct.new(:page, :site)
8
+ Registers = Struct.new(:page, :site) unless defined? :Registers
7
9
 
8
10
  # Mock for Collections
9
11
  class Collections
@@ -46,10 +48,11 @@ class MyTest
46
48
  let(:parse_context) { TestParseContext.new }
47
49
 
48
50
  let(:helper) do
49
- JekyllPluginHelper.new(
51
+ ::JekyllSupport::JekyllPluginHelper.new(
50
52
  'img',
51
53
  'src="./blah.webp"',
52
- logger
54
+ logger,
55
+ false
53
56
  )
54
57
  end
55
58
 
@@ -61,7 +64,7 @@ class MyTest
61
64
  helper.markup.dup,
62
65
  parse_context
63
66
  )
64
- result = img.send(:render_impl, helper.markup)
67
+ result = img.send(:render_impl)
65
68
  expect(result).to match_ignoring_whitespace <<-END_RESULT
66
69
  <img src="./blah.webp">
67
70
  END_RESULT
@@ -0,0 +1,10 @@
1
+ example_id | status | run_time |
2
+ ------------------------------- | ------ | --------------- |
3
+ ./spec/img_builder_spec.rb[1:1] | failed | 14.37 seconds |
4
+ ./spec/img_builder_spec.rb[1:2] | failed | 0.01498 seconds |
5
+ ./spec/img_builder_spec.rb[1:3] | failed | 0.00093 seconds |
6
+ ./spec/img_props_spec.rb[1:1] | passed | 0.00407 seconds |
7
+ ./spec/img_props_spec.rb[1:2] | passed | 0.00005 seconds |
8
+ ./spec/img_props_spec.rb[1:3] | passed | 0.00845 seconds |
9
+ ./spec/img_props_spec.rb[1:4] | passed | 0.00135 seconds |
10
+ ./spec/img_props_spec.rb[1:5] | passed | 11.17 seconds |
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll_img
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Slinn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-26 00:00:00.000000000 Z
11
+ date: 2024-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -59,6 +59,7 @@ files:
59
59
  - spec/img_props_spec.rb
60
60
  - spec/jekyll_img_spec.rb
61
61
  - spec/spec_helper.rb
62
+ - spec/status_persistence.txt
62
63
  homepage: https://www.mslinn.com/jekyll_plugins/jekyll_img.html
63
64
  licenses:
64
65
  - MIT
@@ -86,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
87
  - !ruby/object:Gem::Version
87
88
  version: '0'
88
89
  requirements: []
89
- rubygems_version: 3.5.16
90
+ rubygems_version: 3.5.17
90
91
  signing_key:
91
92
  specification_version: 4
92
93
  summary: Provides a Jekyll tag that generates images.
@@ -95,4 +96,5 @@ test_files:
95
96
  - spec/img_props_spec.rb
96
97
  - spec/jekyll_img_spec.rb
97
98
  - spec/spec_helper.rb
99
+ - spec/status_persistence.txt
98
100
  ...