jekyll-thumbnail-img 0.1.0 → 0.1.1

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jekyll-thumbnail-img.rb +52 -44
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c6f1558133356d35708570fe3adc2002f8527a3bbd0b6f0339f8df5f5861356e
4
- data.tar.gz: df2e246e6bfcdca889563df614e2b89b028ec3b9688c83ffd5b9e77b8bf49b51
3
+ metadata.gz: 9c745c4b8971de2cb1cf37d40e83323e0c8e8ad4c73ed8b24f1de9d9de6e82ad
4
+ data.tar.gz: 412b4d62315e7f8c95c7821c2b7a0271f84d1a00a294034f016563e88b9998e2
5
5
  SHA512:
6
- metadata.gz: 1edcdfceae5b2f2c75d00d57d9cef8a9eab64bcf737aef60d3e5dae93aca814b49c664e59c3286bf4bfdfef61c1213fed3d225ed5391149194a75fd60cf49d4e
7
- data.tar.gz: 816be152f8b6283a5db5ab1b83842313586bc073245f6a74554bd67e739afc8acbf9e2a89d40624c12772c08bc54761a7708bc776f3925ef6c56f6b2dacd2775
6
+ metadata.gz: feea8bbc7bb2ffea2607b033672eb8a8e0b5b370fec79e5b366088d0356392636499cf02f18e019c502c24f9f999647bf3fde19874d103e10bb8a77bec1569b4
7
+ data.tar.gz: eb5f51ac5854e5c4f4e10fdcdf51985a5ac7a2a06d74e2af1a4efb7104c48ef5f80523b6bdc4ef424089a0da693bc11ed3561fa91f9b30cae5cb5d39888197a6
@@ -1,50 +1,58 @@
1
- require "jekyll"
2
- require "mini_magick"
3
-
4
- class JekyllThumbnailImg < Liquid::Tag
5
- def initialize(tag_name, markup, tokens)
6
- super
7
- @markup = markup
8
- end
9
-
10
- def render(context)
11
- source, width = @markup.split(" ").map(&:strip)
12
-
13
- # Check if the source is a Liquid variable and attempt to resolve it
14
- if context[source]
15
- source = context[source]
16
- end
17
- unless source && width
18
- raise "Usage: {% thumbnail_img /path/to/local/image.png 500 %}"
19
- end
20
-
21
- source_path = File.join(context.registers[:site].source, source)
22
-
23
- # Check if the source file exists
24
- unless File.exist?(source_path)
25
- raise "File #{source} could not be found"
1
+ require 'jekyll'
2
+ require 'mini_magick'
3
+
4
+ module Jekyll
5
+ class JekyllThumbnailImg < Liquid::Tag
6
+ def initialize(tag_name, markup, tokens)
7
+ super
8
+ @markup = markup
26
9
  end
27
10
 
28
- # Calculate the relative path to the 'thumbnails' directory
29
- relative_dest_dir = File.join(File.dirname(source), "thumbnails")
30
-
31
- # Create the 'thumbnails' directory within the source directory
32
- dest_dir = File.join(context.registers[:site].source, relative_dest_dir)
33
- Dir.mkdir(dest_dir) unless Dir.exist?(dest_dir)
34
-
35
- ext = File.extname(source)
36
- dest = File.join(relative_dest_dir, File.basename(source, ext) + "_#{width}w#{ext}")
37
-
38
- # Generate the thumbnail if it doesn't exist or if the source file was modified more recently than the thumbnail
39
- full_dest_path = File.join(context.registers[:site].source, dest)
40
- if !File.exist?(full_dest_path) || File.mtime(full_dest_path) <= File.mtime(source_path)
41
- image = MiniMagick::Image.open(source_path)
42
- image.resize("#{width}x")
43
- image.write(File.join(context.registers[:site].source, dest))
11
+ def render(context)
12
+ source, width = @markup.split(" ").map(&:strip)
13
+
14
+ # Check if the source is a Liquid variable and attempt to resolve it
15
+ if context[source]
16
+ source = context[source]
17
+ end
18
+ unless source && width
19
+ raise "Usage: {% thumbnail_img /path/to/local/image.png 500 %}"
20
+ end
21
+
22
+ source_path = File.join(context.registers[:site].source, source)
23
+
24
+ # Check if the source file exists
25
+ unless File.exist?(source_path)
26
+ raise "File #{source} could not be found"
27
+ end
28
+
29
+ # Calculate the relative path to the 'thumbnails' directory
30
+ relative_dest_dir = File.join(File.dirname(source), "thumbnails")
31
+
32
+ # Create the 'thumbnails' directory within the source directory
33
+ dest_dir = File.join(context.registers[:site].source, relative_dest_dir)
34
+ Dir.mkdir(dest_dir) unless Dir.exist?(dest_dir)
35
+
36
+ ext = File.extname(source)
37
+ dest = File.join(relative_dest_dir, File.basename(source, ext) + "_#{width}w#{ext}")
38
+
39
+ # Generate the thumbnail if it doesn't exist or if the source file was modified more recently than the thumbnail
40
+ full_dest_path = File.join(context.registers[:site].source, dest)
41
+ if !File.exist?(full_dest_path) || File.mtime(full_dest_path) <= File.mtime(source_path)
42
+ image = MiniMagick::Image.open(source_path)
43
+ image.resize("#{width}x")
44
+ image.write(full_dest_path)
45
+ Jekyll.logger.info "JekyllThumbnailImg", "Generating: " + File.join(context.registers[:site].source, dest)
46
+ context["site"]["static_files"] << StaticFile.new(
47
+ context.registers[:site],
48
+ context.registers[:site].source,
49
+ @dir,
50
+ dest
51
+ )
52
+ end
53
+ dest
44
54
  end
45
-
46
- dest
47
55
  end
48
56
  end
49
57
 
50
- Liquid::Template.register_tag("thumbnail_img", JekyllThumbnailImg)
58
+ Liquid::Template.register_tag("thumbnail_img", Jekyll::JekyllThumbnailImg)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-thumbnail-img
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Abhishek Paudel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-02 00:00:00.000000000 Z
11
+ date: 2024-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll