jekyll-responsive-magick 1.1.1 → 1.2.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: fe6a2b534263046bdb35654cecae1276d18df445e46e8281b00427bebc47ec35
4
- data.tar.gz: 74ad95f2d1b12dca9ef51647f4caf23e8a5a08f0d3c79563981cd49f16f07fd9
3
+ metadata.gz: e0baafa9560a330fee2b5f7cce5844e0c7c79752f806b10dbf7bb23f782c6cac
4
+ data.tar.gz: 475a8781a41e2ff224facab935e7f19aeb5c12b1fd66df9dcea951f4a07b3424
5
5
  SHA512:
6
- metadata.gz: fa9b5ff4268b73ad964a02a179973be1bc967626c66c9881c238aaf4d44c9261d95d310bc27d2b4a591fd7a9a59785eee115ee8a1afe2e7aaf5343a56cb7cb95
7
- data.tar.gz: 3a21631ecd2128185c5bdb0ae90332b3b72466bbfbe232a7303ed8c6ba9e1a092178a2dc9b19fdbe62130f256a906d67840ca73568741e0a846a370fabb77925
6
+ metadata.gz: bd8e381e61b7888dbaa9482b552834fbd85c0a3f182e11c0fb4028c367558cbbe0984402320266f25cb4a6decef5da2f28fbc54accbc363753e4bab01977f8fc
7
+ data.tar.gz: eb42d09a814fe7a22532c2b1b6a340e8dac979d52e939c9106c40d85f8f7e001f3d1a23c3ca66a4e4c26beb0dfc0457cb6645f1f3a3c3b69384ca50a7bd401c7
@@ -120,6 +120,52 @@ module Jekyll
120
120
  end
121
121
  return @@sizes[input][1]
122
122
  end
123
+
124
+ def size(input, width)
125
+ site = @context.registers[:site]
126
+ if not input.is_a? String || input.length == 0 || input.chr != '/'
127
+ throw "size: input must be absolute path"
128
+ end
129
+ dirname = File.dirname(input)
130
+ basename = File.basename(input, '.*')
131
+ extname = File.extname(input)
132
+ src = ".#{dirname}/#{basename}#{extname}"
133
+
134
+ if site.config['responsive']['quality']
135
+ quality = site.config['responsive']['quality']
136
+ else
137
+ quality = 80
138
+ end
139
+ if site.config['responsive']['verbose']
140
+ verbose = site.config['responsive']['verbose']
141
+ else
142
+ verbose = false
143
+ end
144
+
145
+ if File.exist?(src) and ['.jpg', '.jpeg', '.png', '.apng', '.gif'].include?(extname)
146
+ file = "#{basename}-#{width}w#{extname}"
147
+ dst = "_responsive#{dirname}/#{file}"
148
+ if not site.static_files.find{|file| file.path == dst}
149
+ site.static_files << StaticFile.new(site, "_responsive", dirname, file)
150
+ if not File.exist?(dst) or File.mtime(src) > File.mtime(dst)
151
+ FileUtils.mkdir_p(File.dirname(dst))
152
+ if extname == '.apng'
153
+ cmd = "convert apng:#{src.shellescape} -strip -quality #{quality} -resize #{width} #{dst.shellescape}"
154
+ else
155
+ cmd = "convert #{src.shellescape} -strip -quality #{quality} -resize #{width} #{dst.shellescape}"
156
+ end
157
+ if verbose
158
+ print("#{cmd}\n")
159
+ end
160
+ if not system(cmd)
161
+ throw "size: failed to execute 'convert', is ImageMagick installed?"
162
+ end
163
+ end
164
+ end
165
+ end
166
+
167
+ return "#{dirname}/#{file}"
168
+ end
123
169
  end
124
170
  end
125
171
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-responsive-magick
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lawrence Murray
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-27 00:00:00.000000000 Z
11
+ date: 2023-04-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A Jekyll plugin for responsive images. Adds filters for setting the srcset,
14
14
  width and height attributes of HTML img elements, while automatically generating
@@ -45,8 +45,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  requirements: []
48
- rubyforge_project:
49
- rubygems_version: 2.7.6.3
48
+ rubygems_version: 3.3.5
50
49
  signing_key:
51
50
  specification_version: 4
52
51
  summary: A Jekyll plugin for responsive images using ImageMagick. Works with Jekyll