onebox 1.9.26 → 1.9.28.2
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/.github/workflows/ci.yml +1 -1
- data/.rubocop.yml +2 -1
- data/lib/onebox/engine.rb +2 -1
- data/lib/onebox/engine/cloudapp_onebox.rb +2 -2
- data/lib/onebox/engine/facebook_media_onebox.rb +32 -0
- data/lib/onebox/engine/flickr_onebox.rb +2 -2
- data/lib/onebox/engine/giphy_onebox.rb +1 -1
- data/lib/onebox/engine/google_photos_onebox.rb +2 -2
- data/lib/onebox/engine/image_onebox.rb +1 -1
- data/lib/onebox/engine/imgur_onebox.rb +2 -2
- data/lib/onebox/engine/instagram_onebox.rb +31 -15
- data/lib/onebox/engine/{reddit_image_onebox.rb → reddit_media_onebox.rb} +20 -1
- data/lib/onebox/engine/whitelisted_generic_onebox.rb +2 -0
- data/lib/onebox/version.rb +1 -1
- data/onebox.gemspec +2 -3
- data/templates/_layout.mustache +2 -2
- data/templates/amazon.mustache +1 -1
- data/templates/githubblob.mustache +2 -2
- data/templates/githubcommit.mustache +3 -3
- data/templates/githubgist.mustache +3 -3
- data/templates/githubissue.mustache +2 -2
- data/templates/githubpullrequest.mustache +4 -4
- data/templates/gitlabblob.mustache +2 -2
- data/templates/googledocs.mustache +2 -2
- data/templates/googledrive.mustache +2 -2
- data/templates/instagram.mustache +2 -2
- data/templates/pastebin.mustache +2 -2
- data/templates/pdf.mustache +2 -2
- data/templates/pubmed.mustache +1 -1
- data/templates/stackexchange.mustache +4 -4
- data/templates/twitterstatus.mustache +2 -2
- data/templates/wechatmp.mustache +1 -1
- data/templates/whitelistedgeneric.mustache +1 -1
- data/templates/wikimedia.mustache +1 -1
- data/templates/wikipedia.mustache +1 -1
- data/templates/xkcd.mustache +1 -1
- metadata +11 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b2bb566d2096445a37f5328daab6bd9750c8fa75ce8740b7f2f858f56c9aa795
|
4
|
+
data.tar.gz: 1f4ce2ee9e5255a0889c3019649a9a34802a3b4d7c7d4494ab3425d98566d471
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e48b7a4787c335b9eefba80baa1b49d19e394b3a05ab1c43ed30fc176e5d0021a301ddbedcbf8d5a1e02649fadb41d8cd62d8668b3d0d62e030effffc667453
|
7
|
+
data.tar.gz: 8fbb2770d5ffa95e3efed6fb24c5f15468b659392e40bb5532abe7e7d4a677678dd2705e354efb8f33e4622c7608dac21bd6f446145a342c6683ec47d6cff178
|
data/.github/workflows/ci.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
inherit_gem:
|
2
|
+
rubocop-discourse: default.yml
|
data/lib/onebox/engine.rb
CHANGED
@@ -176,5 +176,6 @@ require_relative "engine/instagram_onebox"
|
|
176
176
|
require_relative "engine/gitlab_blob_onebox"
|
177
177
|
require_relative "engine/google_photos_onebox"
|
178
178
|
require_relative "engine/kaltura_onebox"
|
179
|
-
require_relative "engine/
|
179
|
+
require_relative "engine/reddit_media_onebox"
|
180
180
|
require_relative "engine/google_drive_onebox"
|
181
|
+
require_relative "engine/facebook_media_onebox"
|
@@ -25,7 +25,7 @@ module Onebox
|
|
25
25
|
|
26
26
|
def link_html(og)
|
27
27
|
<<-HTML
|
28
|
-
<a href='#{og.url}' target='_blank'>
|
28
|
+
<a href='#{og.url}' target='_blank' rel='noopener'>
|
29
29
|
#{og.title}
|
30
30
|
</a>
|
31
31
|
HTML
|
@@ -43,7 +43,7 @@ module Onebox
|
|
43
43
|
|
44
44
|
def image_html(og)
|
45
45
|
<<-HTML
|
46
|
-
<a href='#{og.url}' target='_blank' class='onebox'>
|
46
|
+
<a href='#{og.url}' target='_blank' class='onebox' rel='noopener'>
|
47
47
|
<img src='#{og.image}' #{og.title_attr} alt='CloudApp' width='480'>
|
48
48
|
</a>
|
49
49
|
HTML
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Onebox
|
4
|
+
module Engine
|
5
|
+
class FacebookMediaOnebox
|
6
|
+
include Engine
|
7
|
+
include StandardEmbed
|
8
|
+
|
9
|
+
matches_regexp(/^https?:\/\/.*\.facebook\.com\/(\w+)\/(videos|\?).*/)
|
10
|
+
always_https
|
11
|
+
|
12
|
+
def to_html
|
13
|
+
metadata = get_twitter
|
14
|
+
if metadata.present? && metadata[:card] == "player" && metadata[:player].present?
|
15
|
+
<<-HTML
|
16
|
+
<iframe src="#{metadata[:player]}"
|
17
|
+
width="#{metadata[:player_width]}"
|
18
|
+
height="#{metadata[:player_height]}"
|
19
|
+
scrolling="no"
|
20
|
+
frameborder="0"
|
21
|
+
allowfullscreen>
|
22
|
+
</iframe>
|
23
|
+
HTML
|
24
|
+
else
|
25
|
+
html = Onebox::Engine::WhitelistedGenericOnebox.new(@url, @timeout).to_html
|
26
|
+
return if Onebox::Helpers.blank?(html)
|
27
|
+
html
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -26,7 +26,7 @@ module Onebox
|
|
26
26
|
|
27
27
|
<<-HTML
|
28
28
|
<div class='onebox flickr-album'>
|
29
|
-
<a href='#{escaped_url}' target='_blank'>
|
29
|
+
<a href='#{escaped_url}' target='_blank' rel='noopener'>
|
30
30
|
<span class='outer-box' style='max-width:#{og.image_width}px'>
|
31
31
|
<span class='inner-box'>
|
32
32
|
<span class='album-title'>#{album_title}</span>
|
@@ -42,7 +42,7 @@ module Onebox
|
|
42
42
|
escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
|
43
43
|
|
44
44
|
<<-HTML
|
45
|
-
<a href='#{escaped_url}' target='_blank' class="onebox">
|
45
|
+
<a href='#{escaped_url}' target='_blank' rel='noopener' class="onebox">
|
46
46
|
<img src='#{og.get_secure_image}' #{og.title_attr} alt='Imgur' height='#{og.image_height}' width='#{og.image_width}'>
|
47
47
|
</a>
|
48
48
|
HTML
|
@@ -13,7 +13,7 @@ module Onebox
|
|
13
13
|
oembed = get_oembed
|
14
14
|
|
15
15
|
<<-HTML
|
16
|
-
<a href="#{oembed.url}" target="_blank" class="onebox">
|
16
|
+
<a href="#{oembed.url}" target="_blank" rel="noopener" class="onebox">
|
17
17
|
<img src="#{oembed.url}" width="#{oembed.width}" height="#{oembed.height}" #{oembed.title_attr}>
|
18
18
|
</a>
|
19
19
|
HTML
|
@@ -33,7 +33,7 @@ module Onebox
|
|
33
33
|
|
34
34
|
<<-HTML
|
35
35
|
<div class='onebox google-photos-album'>
|
36
|
-
<a href='#{escaped_url}' target='_blank'>
|
36
|
+
<a href='#{escaped_url}' target='_blank' rel='noopener'>
|
37
37
|
<span class='outer-box' style='width:#{og.image_width}px'>
|
38
38
|
<span class='inner-box'>
|
39
39
|
<span class='album-title'>#{Onebox::Helpers.truncate(album_title, 80)}</span>
|
@@ -49,7 +49,7 @@ module Onebox
|
|
49
49
|
escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
|
50
50
|
|
51
51
|
<<-HTML
|
52
|
-
<a href='#{escaped_url}' target='_blank' class="onebox">
|
52
|
+
<a href='#{escaped_url}' target='_blank' rel='noopener' class="onebox">
|
53
53
|
<img src='#{og.get_secure_image}' #{og.title_attr} alt='Google Photos' height='#{og.image_height}' width='#{og.image_width}'>
|
54
54
|
</a>
|
55
55
|
HTML
|
@@ -19,7 +19,7 @@ module Onebox
|
|
19
19
|
|
20
20
|
escaped_url = ::Onebox::Helpers.normalize_url_for_output(@url)
|
21
21
|
<<-HTML
|
22
|
-
<a href="#{escaped_url}" target="_blank" class="onebox">
|
22
|
+
<a href="#{escaped_url}" target="_blank" rel="noopener" class="onebox">
|
23
23
|
<img src="#{escaped_url}">
|
24
24
|
</a>
|
25
25
|
HTML
|
@@ -34,7 +34,7 @@ module Onebox
|
|
34
34
|
|
35
35
|
<<-HTML
|
36
36
|
<div class='onebox imgur-album'>
|
37
|
-
<a href='#{escaped_url}' target='_blank'>
|
37
|
+
<a href='#{escaped_url}' target='_blank' rel='noopener'>
|
38
38
|
<span class='outer-box' style='width:#{og.image_width}px'>
|
39
39
|
<span class='inner-box'>
|
40
40
|
<span class='album-title'>#{album_title}</span>
|
@@ -57,7 +57,7 @@ module Onebox
|
|
57
57
|
escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
|
58
58
|
|
59
59
|
<<-HTML
|
60
|
-
<a href='#{escaped_url}' target='_blank' class="onebox">
|
60
|
+
<a href='#{escaped_url}' target='_blank' rel='noopener' class="onebox">
|
61
61
|
<img src='#{og.get_secure_image}' #{og.title_attr} alt='Imgur' height='#{og.image_height}' width='#{og.image_width}'>
|
62
62
|
</a>
|
63
63
|
HTML
|
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'htmlentities'
|
4
|
-
|
5
3
|
module Onebox
|
6
4
|
module Engine
|
7
5
|
class InstagramOnebox
|
@@ -9,25 +7,43 @@ module Onebox
|
|
9
7
|
include StandardEmbed
|
10
8
|
include LayoutSupport
|
11
9
|
|
12
|
-
matches_regexp(/^https?:\/\/(?:www\.)?(?:instagram\.com|instagr\.am)\/?(?:.*)\/p
|
10
|
+
matches_regexp(/^https?:\/\/(?:www\.)?(?:instagram\.com|instagr\.am)\/?(?:.*)\/p\/[a-zA-Z\d_-]+/)
|
13
11
|
always_https
|
14
12
|
|
15
|
-
def
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
json_data = html_doc.xpath('//script[contains(text(),"window._sharedData")]').text.to_s
|
20
|
-
title = "[Album] #{title}" if json_data =~ /"edge_sidecar_to_children"/
|
13
|
+
def clean_url
|
14
|
+
url.scan(/^https?:\/\/(?:www\.)?(?:instagram\.com|instagr\.am)\/?(?:.*)\/p\/[a-zA-Z\d_-]+/).flatten.first
|
15
|
+
end
|
21
16
|
|
22
|
-
|
23
|
-
|
24
|
-
|
17
|
+
def data
|
18
|
+
oembed = get_oembed
|
19
|
+
permalink = clean_url.gsub("/#{oembed.author_name}/", "/")
|
20
|
+
description = oembed.title
|
21
|
+
type = if description =~ /^Photos by/
|
22
|
+
"album"
|
23
|
+
elsif description =~ /^Video by/
|
24
|
+
"video"
|
25
|
+
else
|
26
|
+
"photo"
|
27
|
+
end
|
28
|
+
title = if type == "album"
|
29
|
+
"[Album] @#{oembed.author_name}"
|
30
|
+
else
|
31
|
+
"@#{oembed.author_name}"
|
32
|
+
end
|
33
|
+
|
34
|
+
result = { link: permalink,
|
35
|
+
title: title,
|
36
|
+
image: "#{permalink}/media/?size=l",
|
37
|
+
description: Onebox::Helpers.truncate(description, 250)
|
25
38
|
}
|
39
|
+
result[:video_link] = permalink if type == "video"
|
40
|
+
result
|
41
|
+
end
|
26
42
|
|
27
|
-
|
28
|
-
result[:video_link] = og.url if !og.video_secure_url.nil?
|
43
|
+
protected
|
29
44
|
|
30
|
-
|
45
|
+
def get_oembed_url
|
46
|
+
oembed_url = "https://api.instagram.com/oembed/?url=#{clean_url}"
|
31
47
|
end
|
32
48
|
end
|
33
49
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module Onebox
|
4
4
|
module Engine
|
5
|
-
class
|
5
|
+
class RedditMediaOnebox
|
6
6
|
include Engine
|
7
7
|
include StandardEmbed
|
8
8
|
|
@@ -25,6 +25,25 @@ module Onebox
|
|
25
25
|
</article>
|
26
26
|
</aside>
|
27
27
|
HTML
|
28
|
+
elsif raw[:type] =~ /^video[\/\.]/
|
29
|
+
<<-HTML
|
30
|
+
<aside class="onebox reddit">
|
31
|
+
<header class="source">
|
32
|
+
<img src="#{raw[:favicon]}" class="site-icon" width="16" height="16">
|
33
|
+
<a href="#{raw[:url]}" target="_blank" rel="nofollow ugc noopener">#{raw[:site_name]}</a>
|
34
|
+
</header>
|
35
|
+
<article class="onebox-body">
|
36
|
+
<h3><a href="#{raw[:url]}" target="_blank" rel="nofollow ugc noopener">#{raw[:title]}</a></h3>
|
37
|
+
<div class="aspect-image-full-size">
|
38
|
+
<a href="#{raw[:url]}" target="_blank" rel="nofollow ugc noopener">
|
39
|
+
<img src="#{raw[:image]}" class="scale-image"/>
|
40
|
+
<span class="instagram-video-icon"></span>
|
41
|
+
</a>
|
42
|
+
</div>
|
43
|
+
<div class="description"><p>#{raw[:description]}</p></div>
|
44
|
+
</article>
|
45
|
+
</aside>
|
46
|
+
HTML
|
28
47
|
else
|
29
48
|
html = Onebox::Engine::WhitelistedGenericOnebox.new(@url, @timeout).to_html
|
30
49
|
return if Onebox::Helpers.blank?(html)
|
@@ -57,6 +57,7 @@ module Onebox
|
|
57
57
|
ehow.com
|
58
58
|
espn.go.com
|
59
59
|
etsy.com
|
60
|
+
facebook.com
|
60
61
|
findery.com
|
61
62
|
folksy.com
|
62
63
|
forbes.com
|
@@ -77,6 +78,7 @@ module Onebox
|
|
77
78
|
kickstarter.com
|
78
79
|
kinomap.com
|
79
80
|
lessonplanet.com
|
81
|
+
linkedin.com
|
80
82
|
liveleak.com
|
81
83
|
livestream.com
|
82
84
|
mashable.com
|
data/lib/onebox/version.rb
CHANGED
data/onebox.gemspec
CHANGED
@@ -28,13 +28,12 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.add_runtime_dependency 'sanitize'
|
29
29
|
|
30
30
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
31
|
-
spec.add_development_dependency 'rake', '
|
31
|
+
spec.add_development_dependency 'rake', '>= 12.3.3'
|
32
32
|
spec.add_development_dependency 'rspec', '~> 3.2'
|
33
33
|
spec.add_development_dependency 'fakeweb', '~> 1.3'
|
34
34
|
spec.add_development_dependency 'pry', '~> 0.10'
|
35
35
|
spec.add_development_dependency 'mocha', '~> 1.1'
|
36
|
-
spec.add_development_dependency 'rubocop', '~>
|
37
|
-
spec.add_development_dependency 'rubocop-discourse', '~> 1.0.1'
|
36
|
+
spec.add_development_dependency 'rubocop-discourse', '~> 2.1.2'
|
38
37
|
spec.add_development_dependency 'twitter', '~> 4.8'
|
39
38
|
spec.add_development_dependency 'guard-rspec', '~> 4.2.8'
|
40
39
|
spec.add_development_dependency 'sinatra', '~> 1.4'
|
data/templates/_layout.mustache
CHANGED
@@ -4,10 +4,10 @@
|
|
4
4
|
<img src="{{favicon}}" class="site-icon"/>
|
5
5
|
{{/favicon}}
|
6
6
|
{{#article_published_time}}
|
7
|
-
<a href="{{link}}" target='_blank' title="{{article_published_time_title}}">{{domain}} – {{article_published_time}}</a>
|
7
|
+
<a href="{{link}}" target='_blank' rel='noopener' title="{{article_published_time_title}}">{{domain}} – {{article_published_time}}</a>
|
8
8
|
{{/article_published_time}}
|
9
9
|
{{^article_published_time}}
|
10
|
-
<a href="{{link}}" target='_blank'>{{domain}}</a>
|
10
|
+
<a href="{{link}}" target='_blank' rel='noopener'>{{domain}}</a>
|
11
11
|
{{/article_published_time}}
|
12
12
|
</header>
|
13
13
|
<article class="onebox-body">
|
data/templates/amazon.mustache
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{{#image}}<img src="{{image}}" class="thumbnail"/>{{/image}}
|
2
2
|
|
3
|
-
<h3><a href='{{link}}' target='_blank'>{{title}}</a></h3>
|
3
|
+
<h3><a href='{{link}}' target='_blank' rel='noopener'>{{title}}</a></h3>
|
4
4
|
{{#by_info}}<b>{{by_info}}</b>{{/by_info}}
|
5
5
|
<p>{{description}}</p>
|
6
6
|
<p>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<h4><a href="{{link}}" target="_blank">{{title}}</a></h4>
|
1
|
+
<h4><a href="{{link}}" target="_blank" rel="noopener">{{title}}</a></h4>
|
2
2
|
{{^has_lines}}
|
3
3
|
{{#model_file}}
|
4
4
|
<iframe class="render-viewer" width="{{width}}" height="{{height}}" src="{{content}}" sandbox="allow-scripts allow-same-origin allow-top-navigation ">
|
@@ -40,5 +40,5 @@ pre.onebox code li.selected{
|
|
40
40
|
{{/has_lines}}
|
41
41
|
|
42
42
|
{{#truncated}}
|
43
|
-
This file has been truncated. <a href="{{link}}" target="_blank">show original</a>
|
43
|
+
This file has been truncated. <a href="{{link}}" target="_blank" rel="noopener">show original</a>
|
44
44
|
{{/truncated}}
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
<div class="github-info-container">
|
7
7
|
<h4>
|
8
|
-
<a href="{{html_url}}" target="_blank">{{title}}</a>
|
8
|
+
<a href="{{html_url}}" target="_blank" rel="noopener">{{title}}</a>
|
9
9
|
</h4>
|
10
10
|
|
11
11
|
<div class="github-info">
|
@@ -14,7 +14,7 @@
|
|
14
14
|
</div>
|
15
15
|
|
16
16
|
<div class="user">
|
17
|
-
<a href="{{author.html_url}}" target="_blank">
|
17
|
+
<a href="{{author.html_url}}" target="_blank" rel="noopener">
|
18
18
|
<img alt="{{author.login}}" src="{{author.avatar_url}}" class="onebox-avatar-inline" width="20" height="20">
|
19
19
|
{{author.login}}
|
20
20
|
</a>
|
@@ -22,7 +22,7 @@
|
|
22
22
|
</div>
|
23
23
|
|
24
24
|
<div class="lines" title="changed {{files.length}} files with {{stats.additions}} additions and {{stats.deletions}} deletions">
|
25
|
-
<a href="{{html_url}}" target="_blank">
|
25
|
+
<a href="{{html_url}}" target="_blank" rel="noopener">
|
26
26
|
<span class="added">+{{stats.additions}}</span>
|
27
27
|
<span class="removed">-{{stats.deletions}}</span>
|
28
28
|
</a>
|
@@ -1,12 +1,12 @@
|
|
1
|
-
<h4><a href="{{link}}" target="_blank">{{link}}</a></h4>
|
1
|
+
<h4><a href="{{link}}" target="_blank" rel="noopener">{{link}}</a></h4>
|
2
2
|
{{#gist_files}}
|
3
3
|
<h5>{{filename}}</h5>
|
4
4
|
<pre><code class='{{language}}'>{{content}}</code></pre>
|
5
|
-
{{#truncated?}}This file has been truncated. <a href="{{link}}" target="_blank">show original</a>{{/truncated?}}
|
5
|
+
{{#truncated?}}This file has been truncated. <a href="{{link}}" target="_blank" rel="noopener">show original</a>{{/truncated?}}
|
6
6
|
{{/gist_files}}
|
7
7
|
|
8
8
|
<p>
|
9
9
|
{{#truncated_files?}}
|
10
|
-
There are more than three files. <a href="{{link}}" target="_blank">show original</a>
|
10
|
+
There are more than three files. <a href="{{link}}" target="_blank" rel="noopener">show original</a>
|
11
11
|
{{/truncated_files?}}
|
12
12
|
</p>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
<div class="github-info-container">
|
7
7
|
<h4>
|
8
|
-
<a href="{{link}}" target="_blank">{{title}}</a>
|
8
|
+
<a href="{{link}}" target="_blank" rel="noopener">{{title}}</a>
|
9
9
|
</h4>
|
10
10
|
|
11
11
|
<div class="github-info">
|
@@ -20,7 +20,7 @@
|
|
20
20
|
{{/closed_at}}
|
21
21
|
|
22
22
|
<div class="user">
|
23
|
-
<a href="{{user.html_url}}" target="_blank">
|
23
|
+
<a href="{{user.html_url}}" target="_blank" rel="noopener">
|
24
24
|
<img alt="{{user.login}}" src="{{user.avatar_url}}" class="onebox-avatar-inline" width="20" height="20">
|
25
25
|
{{user.login}}
|
26
26
|
</a>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
<div class="github-info-container">
|
7
7
|
<h4>
|
8
|
-
<a href="{{html_url}}" target="_blank">{{title}}</a>
|
8
|
+
<a href="{{html_url}}" target="_blank" rel="noopener">{{title}}</a>
|
9
9
|
</h4>
|
10
10
|
|
11
11
|
<div class="branches">
|
@@ -18,14 +18,14 @@
|
|
18
18
|
</div>
|
19
19
|
|
20
20
|
<div class="user">
|
21
|
-
<a href="{{user.html_url}}" target="_blank">
|
21
|
+
<a href="{{user.html_url}}" target="_blank" rel="noopener">
|
22
22
|
<img alt="{{user.login}}" src="{{user.avatar_url}}" class="onebox-avatar-inline" width="20" height="20">
|
23
23
|
{{user.login}}
|
24
24
|
</a>
|
25
25
|
</div>
|
26
26
|
|
27
27
|
<div class="lines" title="{{commits}} commits changed {{changed_files}} files with {{additions}} additions and {{deletions}} deletions">
|
28
|
-
<a href="{{html_url}}/files" target="_blank">
|
28
|
+
<a href="{{html_url}}/files" target="_blank" rel="noopener">
|
29
29
|
<span class="added">+{{additions}}</span>
|
30
30
|
<span class="removed">-{{deletions}}</span>
|
31
31
|
</a>
|
@@ -33,4 +33,4 @@
|
|
33
33
|
</div>
|
34
34
|
|
35
35
|
</div>
|
36
|
-
</div>
|
36
|
+
</div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<h4><a href="{{link}}" target="_blank">{{title}}</a></h4>
|
1
|
+
<h4><a href="{{link}}" target="_blank" rel="noopener">{{title}}</a></h4>
|
2
2
|
{{^has_lines}}
|
3
3
|
<pre><code class='{{lang}}'>{{content}}</code></pre>
|
4
4
|
{{/has_lines}}
|
@@ -10,5 +10,5 @@
|
|
10
10
|
{{/has_lines}}
|
11
11
|
|
12
12
|
{{#truncated}}
|
13
|
-
This file has been truncated. <a href="{{link}}" target="_blank">show original</a>
|
13
|
+
This file has been truncated. <a href="{{link}}" target="_blank" rel="noopener">show original</a>
|
14
14
|
{{/truncated}}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
<a href='{{link}}' target="_blank"><span class='googledocs-onebox-logo g-{{type}}-logo'></span></a>
|
1
|
+
<a href='{{link}}' target="_blank" rel="noopener"><span class='googledocs-onebox-logo g-{{type}}-logo'></span></a>
|
2
2
|
|
3
|
-
<h3><a href='{{link}}' target="_blank">{{title}}</a></h3>
|
3
|
+
<h3><a href='{{link}}' target="_blank" rel="noopener">{{title}}</a></h3>
|
4
4
|
|
5
5
|
<p>{{description}}</p>
|
@@ -1,9 +1,9 @@
|
|
1
1
|
{{^image}}
|
2
|
-
<a href='{{link}}' target="_blank"><span class='googledocs-onebox-logo g-drive-logo'></span></a>
|
2
|
+
<a href='{{link}}' target="_blank" rel="noopener"><span class='googledocs-onebox-logo g-drive-logo'></span></a>
|
3
3
|
{{/image}}
|
4
4
|
|
5
5
|
{{#image}}<img src="{{image}}" class="thumbnail"/>{{/image}}
|
6
6
|
|
7
|
-
<h3><a href="{{link}}" target="_blank">{{title}}</a></h3>
|
7
|
+
<h3><a href="{{link}}" target="_blank" rel="noopener">{{title}}</a></h3>
|
8
8
|
|
9
9
|
<p>{{description}}</p>
|
@@ -1,8 +1,8 @@
|
|
1
|
-
<h3><a href="{{{link}}}" target="_blank">{{title}}</a></h3>
|
1
|
+
<h3><a href="{{{link}}}" target="_blank" rel="noopener">{{title}}</a></h3>
|
2
2
|
|
3
3
|
{{#image}}
|
4
4
|
<div class="instagram-images">
|
5
|
-
{{#video_link}} <a href="{{{video_link}}}" target="_blank"> {{/video_link}}
|
5
|
+
{{#video_link}} <a href="{{{video_link}}}" target="_blank" rel="noopener"> {{/video_link}}
|
6
6
|
<img class="instagram-image" src="{{{image}}}"/>
|
7
7
|
{{#video_link}} <span class="instagram-video-icon"></span></a> {{/video_link}}
|
8
8
|
</div>
|
data/templates/pastebin.mustache
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
<h4><a href="{{link}}" target="_blank">{{link}}</a></h4>
|
1
|
+
<h4><a href="{{link}}" target="_blank" rel="noopener">{{link}}</a></h4>
|
2
2
|
<pre><code class='lang-auto'>{{content}}</code></pre>
|
3
|
-
{{#truncated?}}This paste has been truncated. <a href="{{link}}" target="_blank">show original</a>{{/truncated?}}
|
3
|
+
{{#truncated?}}This paste has been truncated. <a href="{{link}}" target="_blank" rel="noopener">show original</a>{{/truncated?}}
|
data/templates/pdf.mustache
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<a href='{{link}}' target="_blank"><span class='pdf-onebox-logo'></span></a>
|
2
|
-
<h3><a href='{{link}}' target="_blank">{{title}}</a></h3>
|
1
|
+
<a href='{{link}}' target="_blank" rel="noopener"><span class='pdf-onebox-logo'></span></a>
|
2
|
+
<h3><a href='{{link}}' target="_blank" rel="noopener">{{title}}</a></h3>
|
3
3
|
|
4
4
|
{{#filesize}}<p class='filesize'>{{filesize}}</p>{{/filesize}}
|
data/templates/pubmed.mustache
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
{{#owner.profile_image}}
|
2
|
-
<a href="{{owner.link}}" target="_blank">
|
2
|
+
<a href="{{owner.link}}" target="_blank" rel="noopener">
|
3
3
|
<img alt="{{owner.display_name}}" src="{{owner.profile_image}}" class="thumbnail onebox-avatar">
|
4
4
|
</a>
|
5
5
|
{{/owner.profile_image}}
|
6
6
|
<h4>
|
7
|
-
<a href="{{link}}" target="_blank">{{{title}}}</a>
|
7
|
+
<a href="{{link}}" target="_blank" rel="noopener">{{{title}}}</a>
|
8
8
|
</h4>
|
9
9
|
|
10
10
|
<div class="tags">
|
@@ -14,8 +14,8 @@
|
|
14
14
|
<div class="date">
|
15
15
|
{{#is_question}}asked by{{/is_question}}
|
16
16
|
{{#is_answer}}answered by{{/is_answer}}
|
17
|
-
<a href="{{owner.link}}" target="_blank">
|
17
|
+
<a href="{{owner.link}}" target="_blank" rel="noopener">
|
18
18
|
{{owner.display_name}}
|
19
19
|
</a>
|
20
|
-
on <a href="{{link}}" target="_blank">{{creation_date}}</a>
|
20
|
+
on <a href="{{link}}" target="_blank" rel="noopener">{{creation_date}}</a>
|
21
21
|
</div>
|
@@ -1,11 +1,11 @@
|
|
1
1
|
{{#avatar}}<img src="{{avatar}}" class="thumbnail onebox-avatar">{{/avatar}}
|
2
2
|
|
3
|
-
<h4><a href='{{link}}' target='_blank'>{{title}}</a></h4>
|
3
|
+
<h4><a href='{{link}}' target='_blank' rel='noopener'>{{title}}</a></h4>
|
4
4
|
|
5
5
|
<div class="tweet"> {{{tweet}}}{{#quoted_tweet}}<div class="quoted"><a class="quoted-link" href="{{quoted_link}}"><p class="quoted-title">{{quoted_full_name}} <span>@{{quoted_screen_name}}</span></p></a><div>{{quoted_tweet}}</div></div>{{/quoted_tweet}}</div>
|
6
6
|
|
7
7
|
<div class='date'>
|
8
|
-
<a href="{{link}}" target="_blank">{{timestamp}}</a>
|
8
|
+
<a href="{{link}}" target="_blank" rel="noopener">{{timestamp}}</a>
|
9
9
|
{{#likes}}
|
10
10
|
<span class="like">
|
11
11
|
<svg viewBox="0 0 512 512" width="14px" height="16px" aria-hidden="true">
|
data/templates/wechatmp.mustache
CHANGED
data/templates/xkcd.mustache
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onebox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.28.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joanna Zeta
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-
|
13
|
+
date: 2020-05-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: addressable
|
@@ -114,16 +114,16 @@ dependencies:
|
|
114
114
|
name: rake
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
|
-
- - "
|
117
|
+
- - ">="
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
119
|
+
version: 12.3.3
|
120
120
|
type: :development
|
121
121
|
prerelease: false
|
122
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
|
-
- - "
|
124
|
+
- - ">="
|
125
125
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
126
|
+
version: 12.3.3
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
128
|
name: rspec
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,34 +180,20 @@ dependencies:
|
|
180
180
|
- - "~>"
|
181
181
|
- !ruby/object:Gem::Version
|
182
182
|
version: '1.1'
|
183
|
-
- !ruby/object:Gem::Dependency
|
184
|
-
name: rubocop
|
185
|
-
requirement: !ruby/object:Gem::Requirement
|
186
|
-
requirements:
|
187
|
-
- - "~>"
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: 0.78.0
|
190
|
-
type: :development
|
191
|
-
prerelease: false
|
192
|
-
version_requirements: !ruby/object:Gem::Requirement
|
193
|
-
requirements:
|
194
|
-
- - "~>"
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
version: 0.78.0
|
197
183
|
- !ruby/object:Gem::Dependency
|
198
184
|
name: rubocop-discourse
|
199
185
|
requirement: !ruby/object:Gem::Requirement
|
200
186
|
requirements:
|
201
187
|
- - "~>"
|
202
188
|
- !ruby/object:Gem::Version
|
203
|
-
version: 1.
|
189
|
+
version: 2.1.2
|
204
190
|
type: :development
|
205
191
|
prerelease: false
|
206
192
|
version_requirements: !ruby/object:Gem::Requirement
|
207
193
|
requirements:
|
208
194
|
- - "~>"
|
209
195
|
- !ruby/object:Gem::Version
|
210
|
-
version: 1.
|
196
|
+
version: 2.1.2
|
211
197
|
- !ruby/object:Gem::Dependency
|
212
198
|
name: twitter
|
213
199
|
requirement: !ruby/object:Gem::Requirement
|
@@ -321,6 +307,7 @@ files:
|
|
321
307
|
- lib/onebox/engine/bandcamp_onebox.rb
|
322
308
|
- lib/onebox/engine/cloudapp_onebox.rb
|
323
309
|
- lib/onebox/engine/coub_onebox.rb
|
310
|
+
- lib/onebox/engine/facebook_media_onebox.rb
|
324
311
|
- lib/onebox/engine/five_hundred_px_onebox.rb
|
325
312
|
- lib/onebox/engine/flickr_onebox.rb
|
326
313
|
- lib/onebox/engine/flickr_shortened_onebox.rb
|
@@ -349,7 +336,7 @@ files:
|
|
349
336
|
- lib/onebox/engine/pastebin_onebox.rb
|
350
337
|
- lib/onebox/engine/pdf_onebox.rb
|
351
338
|
- lib/onebox/engine/pubmed_onebox.rb
|
352
|
-
- lib/onebox/engine/
|
339
|
+
- lib/onebox/engine/reddit_media_onebox.rb
|
353
340
|
- lib/onebox/engine/replit_onebox.rb
|
354
341
|
- lib/onebox/engine/simplecast_onebox.rb
|
355
342
|
- lib/onebox/engine/sketchfab_onebox.rb
|
@@ -433,7 +420,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
433
420
|
- !ruby/object:Gem::Version
|
434
421
|
version: '0'
|
435
422
|
requirements: []
|
436
|
-
rubygems_version: 3.
|
423
|
+
rubygems_version: 3.0.3
|
437
424
|
signing_key:
|
438
425
|
specification_version: 4
|
439
426
|
summary: A gem for generating embeddable HTML previews from URLs.
|