jekyll-embed-urls 0.5.6 → 0.5.7

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: 0e6e72a30b43d661e9c852d548f48ba8f600cbbde41e6873489cf9ceb3d4435c
4
- data.tar.gz: dd437ba4bbfa32d8e9c26792a3547672ae4197d8b23029b538d3a1ca814e64b7
3
+ metadata.gz: '009ec95cb733855d621b7b063e4922c79873296fdebd99f16ad6f2856854a7af'
4
+ data.tar.gz: e56ca532db963a099a4c4c6950c4382ca25d83c5102703b8bf2d66fd98d8f2a9
5
5
  SHA512:
6
- metadata.gz: 9c6cb5356446f930287dd1feca9ac024db143a0f3bf531dc19f94e6e7b4a2602125a2b20bafb1029da46ad15c4cdfcbb4c2e783967f6bba16e1b21310c496557
7
- data.tar.gz: b98314a98b042a9c7cf1f9cfbeacce6662d11b6c5ec8d6d85e0d96ea3f2bc32d0e0bcea8cf3fd387b7872fcbeb0555d2873ff242dc84f8e503e40a2374f23140
6
+ metadata.gz: d60e0cfb3395976201a2b9b4174aaf1b888ef88fede4c802302002787471a0d8268c89d8d1cb447fa24bcebee7ac5f4ce83865b5770e0fe5ca38cd93ebb7e8e4
7
+ data.tar.gz: 4310e1aa4409b2724e8dfc9b68ecc96e4eabe83709a19cb7e5d3745a895b9e7bb32af78dece340f6c4e37807813582cdb07517253a40f739c7206db03db606f3
@@ -10,7 +10,7 @@ module Jekyll
10
10
 
11
11
  def read(key)
12
12
  self[key]
13
- rescue
13
+ rescue StandardError
14
14
  nil
15
15
  end
16
16
  end
@@ -5,7 +5,7 @@ require 'cgi'
5
5
  module Jekyll
6
6
  class Embed
7
7
  class Content
8
- URL_RE = /(<p[^>]*>[\s\n]*(<a[^>]*>)?[\s\n]*(https?:\/\/[^<\s\n]+)[\s\n]*(<\/a>)?[\s\n]*<\/p>)/m.freeze
8
+ URL_RE = %r{(<p[^>]*>[\s\n]*(<a[^>]*>)?[\s\n]*(https?://[^<\s\n]+)[\s\n]*(</a>)?[\s\n]*</p>)}m.freeze
9
9
 
10
10
  class << self
11
11
  # Find URLs on paragraphs. We do it after rendering because
@@ -13,7 +13,7 @@ module Jekyll
13
13
  # catch both.
14
14
  def embed!(content)
15
15
  content.gsub!(URL_RE) do |match|
16
- url = CGI.unescapeHTML($3)
16
+ url = CGI.unescapeHTML(Regexp.last_match(3))
17
17
  embed = Jekyll::Embed.embed url
18
18
 
19
19
  if embed == url
data/lib/jekyll/embed.rb CHANGED
@@ -13,7 +13,7 @@ require_relative 'embed/cache'
13
13
  if Gem::Version.new(Jekyll::VERSION) >= Gem::Version.new('4.2.0')
14
14
  require_relative 'embed/content'
15
15
  else
16
- Jekyll.logger.warn "Upgrade to Jekyll >= 4.2.0 to embed URLs in content"
16
+ Jekyll.logger.warn 'Upgrade to Jekyll >= 4.2.0 to embed URLs in content'
17
17
  end
18
18
 
19
19
  OEmbed::Providers.register_all
@@ -57,7 +57,8 @@ module Jekyll
57
57
 
58
58
  # Directive from Feature Policy
59
59
  # @see {https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Feature-Policy#directives}
60
- DIRECTIVES = %w[accelerometer ambient-light-sensor autoplay battery camera display-capture document-domain encrypted-media execution-while-not-rendered execution-while-out-of-viewport fullscreen gamepad geolocation gyroscope layout-animations legacy-image-formats magnetometer microphone midi navigation-override oversized-images payment picture-in-picture publickey-credentials-get speaker-selection sync-xhr usb screen-wake-lock web-share xr-spatial-tracking].freeze
60
+ DIRECTIVES = %w[accelerometer ambient-light-sensor autoplay battery camera display-capture document-domain
61
+ encrypted-media execution-while-not-rendered execution-while-out-of-viewport fullscreen gamepad geolocation gyroscope layout-animations legacy-image-formats magnetometer microphone midi navigation-override oversized-images payment picture-in-picture publickey-credentials-get speaker-selection sync-xhr usb screen-wake-lock web-share xr-spatial-tracking].freeze
61
62
 
62
63
  # Templates
63
64
  INCLUDE_OGP = '{% include ogp.html site=site page=page %}'
@@ -84,13 +85,13 @@ module Jekyll
84
85
  'rel' => %w[noopener noreferrer],
85
86
  'target' => '_blank'
86
87
  }
87
- }
88
+ }.freeze
88
89
 
89
90
  class << self
90
91
  def site
91
92
  unless @site
92
93
  raise Jekyll::Errors::InvalidConfigurationError,
93
- "Site is missing, configure with `Jekyll::Embed.site = site`"
94
+ 'Site is missing, configure with `Jekyll::Embed.site = site`'
94
95
  end
95
96
 
96
97
  @site
@@ -101,7 +102,7 @@ module Jekyll
101
102
  # @param [Jekyll::Site]
102
103
  # @return [Jekyll::Site]
103
104
  def site=(site)
104
- raise ArgumentError, "Site must be a Jekyll::Site" unless site.is_a? Jekyll::Site
105
+ raise ArgumentError, 'Site must be a Jekyll::Site' unless site.is_a? Jekyll::Site
105
106
 
106
107
  @site = site
107
108
 
@@ -130,15 +131,15 @@ module Jekyll
130
131
  def reset
131
132
  @allow_same_origin =
132
133
  @cache =
133
- @config =
134
- @fallback_template =
135
- @get_cache =
136
- @http_client =
137
- @info =
138
- @ogp_template =
139
- @payload =
140
- @value_for_attr =
141
- nil
134
+ @config =
135
+ @fallback_template =
136
+ @get_cache =
137
+ @http_client =
138
+ @info =
139
+ @ogp_template =
140
+ @payload =
141
+ @value_for_attr =
142
+ nil
142
143
  end
143
144
 
144
145
  # Render the URL as HTML
@@ -170,7 +171,9 @@ module Jekyll
170
171
  # @return [Hash]
171
172
  def config
172
173
  @config ||= Jekyll::Utils.deep_merge_hashes(DEFAULT_CONFIG, (site.config['embed'] || {})).tap do |c|
173
- c['attributes']['allow'].concat (DIRECTIVES - c.dig('attributes', 'allow').join.split(';').map { |s| s.split(' ').first }).join(" 'none';|").split('|')
174
+ c['attributes']['allow'].concat (DIRECTIVES - c.dig('attributes', 'allow').join.split(';').map do |s|
175
+ s.split(' ').first
176
+ end).join(" 'none';|").split('|')
174
177
  end
175
178
  end
176
179
 
@@ -208,8 +211,8 @@ module Jekyll
208
211
 
209
212
  %w[image video audio].each do |attr|
210
213
  page[attr] = ogp.public_send(:"#{attr}s").find do |a|
211
- http? i.url
212
- end
214
+ http? a.url
215
+ end&.url
213
216
  end
214
217
 
215
218
  context = info.dup
@@ -343,8 +346,8 @@ module Jekyll
343
346
  @value_for_attr ||= {}
344
347
  @value_for_attr[attr] ||=
345
348
  case (value = config.dig('attributes', attr))
346
- when String then value
347
- when Array then value.join(' ')
349
+ when String then value
350
+ when Array then value.join(' ')
348
351
  end
349
352
  end
350
353
 
@@ -355,7 +358,7 @@ module Jekyll
355
358
  # @return [String]
356
359
  def allow_same_origin(url)
357
360
  unless site.config['url']
358
- Jekyll.logger.warn "Add url to _config.yml to determine if the site can embed itself"
361
+ Jekyll.logger.warn 'Add url to _config.yml to determine if the site can embed itself'
359
362
  return ' allow-same-origin'
360
363
  end
361
364
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-embed-urls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6
4
+ version: 0.5.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - f
@@ -128,6 +128,20 @@ dependencies:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: rubocop
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
131
145
  description: Replaces URLs for their previsualization in Jekyll posts
132
146
  email:
133
147
  - f@sutty.nl