jekyll-plugin-cloudinary 1.2 → 1.14.1

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: 6e547561350adf47a94f2f97d017cd3de3e92c453d31dc60890f9bba047993af
4
- data.tar.gz: a414adbdccefbf0ad76dcbdd2ab77f4aaaf46792f1769b92ef67ced139e24e5c
3
+ metadata.gz: 6b6f3aca92e577298f2a52f8720597a74985c28d4509580cf9bc98ab897d5d11
4
+ data.tar.gz: 0a797cce469179e29dda21a4e9c2e540b28a13568272f1be56317941396de3a5
5
5
  SHA512:
6
- metadata.gz: 7858c1a3e4a6aa41204a053a822c97183a2818657ae5272376cfdeca01b9054fa6c18fef80aa483e6cc2321fe0c7966f3547b58d3b7135ffb2bb615784e96cea
7
- data.tar.gz: '08b547e5b2be54a64f3464f002b74ed334398fb343f19c66995f885a220bddc71578e15e9367f6ccbfcf93b4834d1495b201962ada2f1e1006dce6545b09338d'
6
+ metadata.gz: 6ed3ff84c6a4ef9015ae4b50f2a63833285f2ef7aba0d578347fb6985a5c146b7f2c692ef6d1f941fb5228391a62c9e7239f118399a3ac25c4ca3294eb84dc91
7
+ data.tar.gz: 58e726fae19e6be6803307c4ebb07aa39a0910f17161b1592ee6160e71ae2a0e0dbaf77f47f5d421651119148d3eb96cf1d55ae8b605403861f15a392c487257
@@ -50,7 +50,7 @@ module Jekyll
50
50
  "delay" => false,
51
51
  "color" => false,
52
52
  "color_space" => false,
53
- "dpr" => "auto",
53
+ "dpr" => false,
54
54
  "page" => false,
55
55
  "density" => false,
56
56
  "flags" => false,
@@ -127,16 +127,15 @@ module Jekyll
127
127
  Jekyll.logger.abort_with("[Cloudinary]", "Can't read this tag: #{@markup}")
128
128
  end
129
129
 
130
+ image_src = markup[:image_src]
131
+
130
132
  # Dynamic image type
131
- type = "upload"
133
+ type = "fetch"
132
134
  # TODO: URL2PNG requires signed URLs... need to investigate more
133
135
  # if /^url2png\:/.match(image_src)
134
136
  # type = "url2png"
135
137
  # image_src.gsub! "url2png:", ""
136
138
  # end
137
- # More TODO: GK changed from fetch
138
-
139
- image_src = markup[:image_src]
140
139
 
141
140
  if markup[:preset]
142
141
  if settings["presets"][markup[:preset]]
@@ -172,15 +171,6 @@ module Jekyll
172
171
  end
173
172
  html_attr = attributes.merge(html_attr)
174
173
 
175
- # SPECIAL
176
-
177
- # Deal with "special transformation"
178
- if html_attr["transform"]
179
- trnsfm = html_attr["transform"]
180
- Jekyll.logger.warn("There is a transformatio @" + image_src + " ->" + trnsfm)
181
- html_attr.delete("transform")
182
- end
183
-
184
174
  # Deal with the "caption" attribute as a true <figcaption>
185
175
  if html_attr["caption"]
186
176
  caption = markdown_converter.convert(html_attr["caption"])
@@ -217,41 +207,70 @@ module Jekyll
217
207
  end
218
208
 
219
209
  # Build source image URL
220
- is_image_remote = true #%r!^https?!.match(image_src)
210
+ is_image_remote = %r!^https?!.match(image_src)
221
211
  if is_image_remote
222
212
  # It's remote
223
213
  image_dest_path = image_src
224
- #image_dest_url = image_src
225
- if trnsfm.nil?
226
- image_dest_url = "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/q_auto:best/#{image_src}"
227
- else
228
- image_dest_url = "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{trnsfm}/#{image_src}"
229
- end
230
-
231
-
232
- if ENV["JEKYLL_ENV"] != "production"
233
- natural_width, natural_height = nil
234
- else
235
- natural_width, natural_height = FastImage.size(image_dest_url)
236
- end
214
+ image_dest_url = image_src
215
+ natural_width, natural_height = FastImage.size(image_dest_url)
237
216
  if natural_width.nil?
238
- if ENV["JEKYLL_ENV"] == "production"
239
- Jekyll.logger.warn("remote url doesn't exists " + image_dest_url)
240
- end
241
- return "<img src=\"#{image_dest_url}\" />"
217
+ Jekyll.logger.warn("remote url doesn't exists " + image_dest_url)
218
+ return "<img src=\"#{image_dest_url}\" />"
242
219
  end
243
220
  width_height = "width=\"#{natural_width}\" height=\"#{natural_height}\""
244
- if trnsfm.nil?
245
- fallback_url = "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{preset["fallback_max_width"]}/#{image_src}"
221
+ fallback_url = "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{preset["fallback_max_width"]}/#{image_dest_url}"
222
+ else
223
+ # It's a local image
224
+ is_image_src_absolute = %r!^/.*$!.match(image_src)
225
+ if is_image_src_absolute
226
+ image_src_path = File.join(
227
+ site.config["source"],
228
+ image_src
229
+ )
230
+ image_dest_path = File.join(
231
+ site.config["destination"],
232
+ image_src
233
+ )
234
+ image_dest_url = File.join(
235
+ url,
236
+ image_src
237
+ )
238
+ else
239
+ image_src_path = File.join(
240
+ site.config["source"],
241
+ File.dirname(context["page"]["path"].chomp("/#excerpt")),
242
+ image_src
243
+ )
244
+ image_dest_path = File.join(
245
+ site.config["destination"],
246
+ File.dirname(context["page"]["url"]),
247
+ image_src
248
+ )
249
+ image_dest_url = File.join(
250
+ url,
251
+ File.dirname(context["page"]["url"]),
252
+ image_src
253
+ )
254
+ end
255
+ if File.exist?(image_src_path)
256
+ natural_width, natural_height = FastImage.size(image_src_path)
257
+ width_height = "width=\"#{natural_width}\" height=\"#{natural_height}\""
258
+ fallback_url = "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{preset["fallback_max_width"]}/#{image_dest_url}"
246
259
  else
247
- fallback_url = "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{trnsfm}/#{image_src}"
260
+ natural_width = 100_000
261
+ width_height = ""
262
+ Jekyll.logger.warn(
263
+ "[Cloudinary]",
264
+ "Couldn't find this image to check its width: #{image_src_path}."
265
+ )
266
+ fallback_url = image_dest_url
248
267
  end
249
268
  end
250
269
 
251
- ## Don't generate responsive image HTML and Cloudinary URLs for local development
252
- #if settings["only_prod"] && ENV["JEKYLL_ENV"] != "production"
253
- # return "<img src=\"#{image_dest_url}\" #{attr_string} #{img_attr} #{width_height} crossorigin=\"anonymous\" />"
254
- #end
270
+ # Don't generate responsive image HTML and Cloudinary URLs for local development
271
+ if settings["only_prod"] && ENV["JEKYLL_ENV"] != "production"
272
+ return "<img src=\"#{image_dest_url}\" #{attr_string} #{img_attr} #{width_height} crossorigin=\"anonymous\" />"
273
+ end
255
274
 
256
275
  srcset = []
257
276
  steps = preset["steps"].to_i
@@ -268,31 +287,19 @@ module Jekyll
268
287
  in #{context["page"]["path"]} not enough for ANY srcset version"
269
288
  )
270
289
  end
271
- if trnsfm.nil?
272
- srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{natural_width}/#{image_src} #{natural_width}w"
273
- else
274
- srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{trnsfm}/#{image_src} #{natural_width}w"
275
- end
290
+ srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{natural_width}/#{image_dest_url} #{natural_width}w"
276
291
  else
277
292
  missed_sizes = []
278
293
  (1..steps).each do |factor|
279
294
  width = min_width + (factor - 1) * step_width
280
295
  if width <= natural_width
281
- if trnsfm.nil?
282
- srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{width}/#{image_src} #{width}w"
283
- else
284
- srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{trnsfm}/#{image_src} #{width}w"
285
- end
296
+ srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{width}/#{image_dest_url} #{width}w"
286
297
  else
287
298
  missed_sizes.push(width)
288
299
  end
289
300
  end
290
301
  unless missed_sizes.empty?
291
- if trnsfm.nil?
292
- srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{natural_width}/#{image_src} #{natural_width}w"
293
- else
294
- srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{trnsfm}/#{image_src} #{natural_width}w"
295
- end
302
+ srcset << "https://res.cloudinary.com/#{settings["cloud_name"]}/image/#{type}/#{transformations_string}w_#{natural_width}/#{image_dest_url} #{natural_width}w"
296
303
  if settings["verbose"]
297
304
  Jekyll.logger.warn(
298
305
  "[Cloudinary]",
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Jekyll
4
4
  module Cloudinary
5
- VERSION = "1.14.3"
5
+ VERSION = "1.14.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-plugin-cloudinary
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.2'
4
+ version: 1.14.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - "@glueckkanja"
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-28 00:00:00.000000000 Z
11
+ date: 2019-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fastimage
@@ -28,22 +28,16 @@ dependencies:
28
28
  name: jekyll
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '3.6'
34
- - - "<"
35
- - !ruby/object:Gem::Version
36
- version: '5'
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - ">="
38
+ - - "~>"
42
39
  - !ruby/object:Gem::Version
43
40
  version: '3.6'
44
- - - "<"
45
- - !ruby/object:Gem::Version
46
- version: '5'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: bundler
49
43
  requirement: !ruby/object:Gem::Requirement
@@ -78,14 +72,14 @@ dependencies:
78
72
  requirements:
79
73
  - - "~>"
80
74
  - !ruby/object:Gem::Version
81
- version: 0.74.0
75
+ version: 0.55.0
82
76
  type: :development
83
77
  prerelease: false
84
78
  version_requirements: !ruby/object:Gem::Requirement
85
79
  requirements:
86
80
  - - "~>"
87
81
  - !ruby/object:Gem::Version
88
- version: 0.74.0
82
+ version: 0.55.0
89
83
  description:
90
84
  email:
91
85
  - info@glueckkanja.com
@@ -98,7 +92,7 @@ files:
98
92
  - README.md
99
93
  - RELEASES.md
100
94
  - Rakefile
101
- - lib/jekyll-plugin-cloudinary.rb
95
+ - lib/jekyll-cloudinary.rb
102
96
  - lib/jekyll/cloudinary.rb
103
97
  - lib/jekyll/cloudinary/version.rb
104
98
  homepage: https://glueckkanja.com
@@ -120,7 +114,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
114
  - !ruby/object:Gem::Version
121
115
  version: '0'
122
116
  requirements: []
123
- rubygems_version: 3.0.3
117
+ rubyforge_project:
118
+ rubygems_version: 2.7.8
124
119
  signing_key:
125
120
  specification_version: 4
126
121
  summary: GK Jekyll Cloudinary Tag (derived from nhoizey)