jekyll-cloudinary 1.8.1 → 1.9.0
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 +4 -4
- data/lib/jekyll/cloudinary/version.rb +1 -1
- data/lib/jekyll/cloudinary.rb +49 -38
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d92d55d6589b7b6b1caec3d8e8e51739d7cec495
|
4
|
+
data.tar.gz: 732cc0bbdfc9e8537b82b5e6c76e7a55da7255ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb0272e18e7afccab31bb8241901416b376712f620d136a5b7671469cbe829e90c2e0bf32f713764b7ecbf14cea301990c946bc829d470870c58685e396b21e4
|
7
|
+
data.tar.gz: a506fad8cca0ed024d510808dcecfb0ce086b43bbe38a3a3736f3e6d5a81985417cd90fcec8b571fe2d3f098505b1ad229fb4952fabf60452b15211d53141e7b
|
data/lib/jekyll/cloudinary.rb
CHANGED
@@ -124,33 +124,6 @@ module Jekyll
|
|
124
124
|
# image_src.gsub! "url2png:", ""
|
125
125
|
# end
|
126
126
|
|
127
|
-
# Build source image URL
|
128
|
-
is_image_remote = /^https?/.match(image_src)
|
129
|
-
# It’s remote
|
130
|
-
if is_image_remote
|
131
|
-
image_path = image_src
|
132
|
-
image_url = image_src
|
133
|
-
# It’s local
|
134
|
-
else
|
135
|
-
is_image_path_absolute = %r!^/.*$!.match(image_src)
|
136
|
-
if is_image_path_absolute
|
137
|
-
image_path = File.join(site.config["destination"], image_src)
|
138
|
-
image_url = File.join(url, baseurl, image_src)
|
139
|
-
else
|
140
|
-
image_path = File.join(
|
141
|
-
site.config["destination"],
|
142
|
-
File.dirname(context["page"]["url"]),
|
143
|
-
image_src
|
144
|
-
)
|
145
|
-
image_url = File.join(
|
146
|
-
url,
|
147
|
-
baseurl,
|
148
|
-
File.dirname(context["page"]["url"]),
|
149
|
-
image_src
|
150
|
-
)
|
151
|
-
end
|
152
|
-
end
|
153
|
-
|
154
127
|
if markup[:preset]
|
155
128
|
if settings["presets"][markup[:preset]]
|
156
129
|
preset = preset.merge(settings["presets"][markup[:preset]])
|
@@ -216,25 +189,63 @@ module Jekyll
|
|
216
189
|
transformations_string = transformations.compact.reject(&:empty?).join(',') + ","
|
217
190
|
end
|
218
191
|
|
219
|
-
#
|
192
|
+
# Build source image URL
|
193
|
+
is_image_remote = /^https?/.match(image_src)
|
220
194
|
if is_image_remote
|
221
|
-
|
195
|
+
# It’s remote
|
196
|
+
image_dest_path = image_src
|
197
|
+
image_dest_url = image_src
|
198
|
+
natural_width, natural_height = FastImage.size(image_dest_url)
|
222
199
|
width_height = "width=\"#{natural_width}\" height=\"#{natural_height}\""
|
223
|
-
fallback_url = "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{preset["fallback_max_width"]}/#{
|
200
|
+
fallback_url = "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{preset["fallback_max_width"]}/#{image_dest_url}"
|
224
201
|
else
|
225
|
-
|
226
|
-
|
202
|
+
# It’s a local image
|
203
|
+
is_image_src_absolute = %r!^/.*$!.match(image_src)
|
204
|
+
if is_image_src_absolute
|
205
|
+
image_src_path = File.join(
|
206
|
+
site.config["source"],
|
207
|
+
image_src
|
208
|
+
)
|
209
|
+
image_dest_path = File.join(
|
210
|
+
site.config["destination"],
|
211
|
+
image_src
|
212
|
+
)
|
213
|
+
image_dest_url = File.join(
|
214
|
+
url,
|
215
|
+
baseurl,
|
216
|
+
image_src
|
217
|
+
)
|
218
|
+
else
|
219
|
+
image_src_path = File.join(
|
220
|
+
site.config["source"],
|
221
|
+
File.dirname(context["page"]["path"]),
|
222
|
+
image_src
|
223
|
+
)
|
224
|
+
image_dest_path = File.join(
|
225
|
+
site.config["destination"],
|
226
|
+
File.dirname(context["page"]["url"]),
|
227
|
+
image_src
|
228
|
+
)
|
229
|
+
image_dest_url = File.join(
|
230
|
+
url,
|
231
|
+
baseurl,
|
232
|
+
File.dirname(context["page"]["url"]),
|
233
|
+
image_src
|
234
|
+
)
|
235
|
+
end
|
236
|
+
if File.exist?(image_src_path)
|
237
|
+
natural_width, natural_height = FastImage.size(image_src_path)
|
227
238
|
width_height = "width=\"#{natural_width}\" height=\"#{natural_height}\""
|
228
|
-
fallback_url = "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{preset["fallback_max_width"]}/#{
|
239
|
+
fallback_url = "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{preset["fallback_max_width"]}/#{image_dest_url}"
|
229
240
|
else
|
230
241
|
natural_width = 100_000
|
231
242
|
width_height = ""
|
232
243
|
Jekyll.logger.warn(
|
233
244
|
"[Cloudinary]",
|
234
|
-
"Couldn't find this image to check its width: #{
|
245
|
+
"Couldn't find this image to check its width: #{image_src_path}. \
|
235
246
|
Try to run Jekyll build a second time."
|
236
247
|
)
|
237
|
-
fallback_url =
|
248
|
+
fallback_url = image_dest_url
|
238
249
|
end
|
239
250
|
end
|
240
251
|
|
@@ -253,19 +264,19 @@ module Jekyll
|
|
253
264
|
in #{context["page"]["path"]} not enough for ANY srcset version"
|
254
265
|
)
|
255
266
|
end
|
256
|
-
srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{natural_width}/#{
|
267
|
+
srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{natural_width}/#{image_dest_url} #{natural_width}w"
|
257
268
|
else
|
258
269
|
missed_sizes = []
|
259
270
|
(1..steps).each do |factor|
|
260
271
|
width = min_width + (factor - 1) * step_width
|
261
272
|
if width <= natural_width
|
262
|
-
srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{width}/#{
|
273
|
+
srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{width}/#{image_dest_url} #{width}w"
|
263
274
|
else
|
264
275
|
missed_sizes.push(width)
|
265
276
|
end
|
266
277
|
end
|
267
278
|
unless missed_sizes.empty?
|
268
|
-
srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{natural_width}/#{
|
279
|
+
srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{natural_width}/#{image_dest_url} #{natural_width}w"
|
269
280
|
if settings["verbose"]
|
270
281
|
Jekyll.logger.warn(
|
271
282
|
"[Cloudinary]",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-cloudinary
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicolas Hoizey
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05-
|
11
|
+
date: 2017-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|