jekyll-plugin-cloudinary 1.2 → 1.14.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.
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)