onebox 1.8.39 → 1.8.40
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/.travis.yml +0 -1
- data/README.md +1 -1
- data/lib/onebox/engine/amazon_onebox.rb +98 -17
- data/lib/onebox/version.rb +3 -1
- data/onebox.gemspec +5 -5
- data/templates/amazon.mustache +7 -1
- metadata +7 -177
- data/spec/fixtures/amazon-og.response +0 -3675
- data/spec/fixtures/amazon.response +0 -3040
- data/spec/fixtures/cloudapp-gif.response +0 -66
- data/spec/fixtures/cloudapp-jpg.response +0 -66
- data/spec/fixtures/cloudapp-mp4.response +0 -65
- data/spec/fixtures/cloudapp-others.response +0 -66
- data/spec/fixtures/dailymail.response +0 -5914
- data/spec/fixtures/discourse_topic.response +0 -344
- data/spec/fixtures/discourse_topic_reply.response +0 -345
- data/spec/fixtures/douban.response +0 -4399
- data/spec/fixtures/etsy.response +0 -5827
- data/spec/fixtures/etsy_mobile.response +0 -4230
- data/spec/fixtures/gfycat.response +0 -1
- data/spec/fixtures/githubblob.response +0 -46
- data/spec/fixtures/githubcommit.response +0 -87
- data/spec/fixtures/githubgist.response +0 -310
- data/spec/fixtures/githubpullrequest.response +0 -216
- data/spec/fixtures/googleplayapp.response +0 -138
- data/spec/fixtures/image.response +0 -0
- data/spec/fixtures/meetup.response.html +0 -4419
- data/spec/fixtures/meetup_oembed.response +0 -1
- data/spec/fixtures/pubmed-electronic-xml.response +0 -175
- data/spec/fixtures/pubmed-electronic.response +0 -307
- data/spec/fixtures/pubmed-xml.response +0 -122
- data/spec/fixtures/pubmed.response +0 -300
- data/spec/fixtures/slides.response +0 -2852
- data/spec/fixtures/stackexchange-answer.response +0 -1
- data/spec/fixtures/stackexchange-question.response +0 -1
- data/spec/fixtures/twitterstatus.response +0 -2814
- data/spec/fixtures/video.response +0 -0
- data/spec/fixtures/wechat-mp.response +0 -631
- data/spec/fixtures/wikimedia.response +0 -1
- data/spec/fixtures/wikipedia.response +0 -566
- data/spec/fixtures/wikipediaredirected.response +0 -899
- data/spec/fixtures/xkcd.response +0 -1
- data/spec/fixtures/youku-meta.response +0 -1
- data/spec/fixtures/youku.response +0 -1443
- data/spec/fixtures/youtube-channel.response +0 -5446
- data/spec/fixtures/youtube-json.response +0 -1
- data/spec/fixtures/youtube-list-json.response +0 -1
- data/spec/fixtures/youtube.response +0 -1625
- data/spec/lib/onebox/engine/amazon_onebox_spec.rb +0 -116
- data/spec/lib/onebox/engine/audio_onebox_spec.rb +0 -31
- data/spec/lib/onebox/engine/cloudapp_onebox_spec.rb +0 -26
- data/spec/lib/onebox/engine/douban_onebox_spec.rb +0 -29
- data/spec/lib/onebox/engine/gfycat_onebox_spec.rb +0 -34
- data/spec/lib/onebox/engine/github_blob_onebox_spec.rb +0 -21
- data/spec/lib/onebox/engine/github_commit_onebox_spec.rb +0 -108
- data/spec/lib/onebox/engine/github_gist_onebox_spec.rb +0 -67
- data/spec/lib/onebox/engine/github_pullrequest_onebox_spec.rb +0 -46
- data/spec/lib/onebox/engine/google_docs_onebox_spec.rb +0 -35
- data/spec/lib/onebox/engine/google_maps_onebox_spec.rb +0 -72
- data/spec/lib/onebox/engine/google_play_app_onebox_spec.rb +0 -28
- data/spec/lib/onebox/engine/html_spec.rb +0 -25
- data/spec/lib/onebox/engine/image_onebox_spec.rb +0 -39
- data/spec/lib/onebox/engine/json_spec.rb +0 -25
- data/spec/lib/onebox/engine/pdf_onebox_spec.rb +0 -28
- data/spec/lib/onebox/engine/pubmed_onebox_spec.rb +0 -78
- data/spec/lib/onebox/engine/slides_onebox_spec.rb +0 -24
- data/spec/lib/onebox/engine/stack_exchange_onebox_spec.rb +0 -97
- data/spec/lib/onebox/engine/trello_onebox_spec.rb +0 -30
- data/spec/lib/onebox/engine/twitch_clips_onebox_spec.rb +0 -10
- data/spec/lib/onebox/engine/twitch_stream_onebox_spec.rb +0 -15
- data/spec/lib/onebox/engine/twitch_video_onebox_spec.rb +0 -10
- data/spec/lib/onebox/engine/twitter_status_onebox_spec.rb +0 -187
- data/spec/lib/onebox/engine/video_onebox_spec.rb +0 -31
- data/spec/lib/onebox/engine/wechat_mp_onebox_spec.rb +0 -26
- data/spec/lib/onebox/engine/whitelisted_generic_onebox_spec.rb +0 -179
- data/spec/lib/onebox/engine/wikimedia_onebox_spec.rb +0 -23
- data/spec/lib/onebox/engine/wikipedia_onebox_spec.rb +0 -21
- data/spec/lib/onebox/engine/xkcd_spec.rb +0 -27
- data/spec/lib/onebox/engine/youku_onebox_spec.rb +0 -13
- data/spec/lib/onebox/engine/youtube_onebox_spec.rb +0 -84
- data/spec/lib/onebox/engine_spec.rb +0 -101
- data/spec/lib/onebox/helpers_spec.rb +0 -73
- data/spec/lib/onebox/layout_spec.rb +0 -79
- data/spec/lib/onebox/matcher_spec.rb +0 -74
- data/spec/lib/onebox/preview_spec.rb +0 -74
- data/spec/lib/onebox/status_check_spec.rb +0 -68
- data/spec/lib/onebox_spec.rb +0 -65
- data/spec/spec_helper.rb +0 -90
- data/spec/support/html_spec_helper.rb +0 -18
- data/web/assets/javascripts/jquery.js +0 -4
- data/web/assets/javascripts/main.js +0 -23
- data/web/assets/stylesheets/normalize.css +0 -427
- data/web/assets/stylesheets/style.css +0 -25
- data/web/views/index.haml +0 -29
- data/web/views/layout.haml +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 90d13b7abf1d64e58716b0468c0241ba8dc7e17dca617a4bc42f2de9fb4418d9
|
4
|
+
data.tar.gz: 8ffa07d4b9c4808a5b1d319de5e8167164966544a98eab71e329323fc0cdfd73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff64a9341af4b04893fbcc87fae1b429e9202cc873cf4eb4d90d484c188bc0eb57bff809c633bfd57a4ba8304cfeae788f1d803a0114a9c79440372bd78e631a
|
7
|
+
data.tar.gz: 39e2c32467f56af30aa31819d208791c2353df5e9d63d3d6212f032d5333b485692a44f4cc70b6daae7a6779bc8faf1a2cf535b5ee9ac7cf87b31a13075c87f7
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -76,7 +76,7 @@ Ruby Support
|
|
76
76
|
|
77
77
|
The onebox library is supported on all "officially" supported versions of Ruby.
|
78
78
|
|
79
|
-
This means you must be on Ruby 2.
|
79
|
+
This means you must be on Ruby 2.3 or above for it to work.
|
80
80
|
|
81
81
|
Development Preview Interface
|
82
82
|
-----------------------------
|
@@ -49,33 +49,114 @@ module Onebox
|
|
49
49
|
if (landing_image = raw.css("#landingImage")) && landing_image.any?
|
50
50
|
landing_image.first["src"].to_s
|
51
51
|
end
|
52
|
+
|
53
|
+
if (ebook_image = raw.css("#ebooksImgBlkFront")) && ebook_image.any?
|
54
|
+
::JSON.parse(ebook_image.first.attributes["data-a-dynamic-image"].value).keys.first
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def price
|
59
|
+
# get item price (Amazon markup is inconsistent, deal with it)
|
60
|
+
if raw.css("#priceblock_ourprice .restOfPrice")[0] && raw.css("#priceblock_ourprice .restOfPrice")[0].inner_text
|
61
|
+
"#{raw.css("#priceblock_ourprice .restOfPrice")[0].inner_text}#{raw.css("#priceblock_ourprice .buyingPrice")[0].inner_text}.#{raw.css("#priceblock_ourprice .restOfPrice")[1].inner_text}"
|
62
|
+
elsif raw.css("#priceblock_dealprice") && (dealprice = raw.css("#priceblock_dealprice span")[0])
|
63
|
+
dealprice.inner_text
|
64
|
+
elsif !raw.css("#priceblock_ourprice").inner_text.empty?
|
65
|
+
raw.css("#priceblock_ourprice").inner_text
|
66
|
+
else
|
67
|
+
raw.css(".mediaMatrixListItem.a-active .a-color-price").inner_text
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def multiple_authors(authors_xpath)
|
72
|
+
author_list = raw.xpath(authors_xpath)
|
73
|
+
authors = []
|
74
|
+
author_list.each { |a| authors << a.inner_text.strip }
|
75
|
+
authors.join(", ")
|
52
76
|
end
|
53
77
|
|
54
78
|
def data
|
55
79
|
og = ::Onebox::Helpers.extract_opengraph(raw)
|
56
|
-
title = og[:title] || CGI.unescapeHTML(raw.css("title").inner_text)
|
57
80
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
}
|
81
|
+
if raw.at_css('#dp.book_mobile') #printed books
|
82
|
+
title = raw.at("h1#title")&.inner_text
|
83
|
+
authors = raw.at_css('#byline_secondary_view_div') ? multiple_authors("//div[@id='byline_secondary_view_div']//span[@class='a-text-bold']") : raw.at("#byline")&.inner_text
|
84
|
+
rating = raw.at("#averageCustomerReviews_feature_div .a-icon")&.inner_text || raw.at("#cmrsArcLink .a-icon")&.inner_text
|
63
85
|
|
64
|
-
|
65
|
-
|
86
|
+
table_xpath = "//div[@id='productDetails_secondary_view_div']//table[@id='productDetails_techSpec_section_1']"
|
87
|
+
isbn = raw.xpath("#{table_xpath}//tr[8]//td").inner_text.strip
|
66
88
|
|
67
|
-
|
68
|
-
|
69
|
-
if
|
70
|
-
|
71
|
-
|
72
|
-
|
89
|
+
# if ISBN is misplaced or absent it's hard to find out which data is
|
90
|
+
# available and where to find it so just set it all to nil
|
91
|
+
if /^\d(\-?\d){12}$/.match(isbn)
|
92
|
+
publisher = raw.xpath("#{table_xpath}//tr[1]//td").inner_text.strip
|
93
|
+
published = raw.xpath("#{table_xpath}//tr[2]//td").inner_text.strip
|
94
|
+
book_length = raw.xpath("#{table_xpath}//tr[6]//td").inner_text.strip
|
73
95
|
else
|
74
|
-
|
96
|
+
isbn = publisher = published = book_length = nil
|
75
97
|
end
|
76
98
|
|
77
|
-
|
78
|
-
|
99
|
+
result = {
|
100
|
+
link: link,
|
101
|
+
title: title,
|
102
|
+
by_info: authors,
|
103
|
+
image: og[:image] || image,
|
104
|
+
description: raw.at("#productDescription")&.inner_text,
|
105
|
+
rating: "#{rating}#{', ' if rating && (!isbn&.empty? || !price&.empty?)}",
|
106
|
+
price: price,
|
107
|
+
isbn_asin_text: "ISBN",
|
108
|
+
isbn_asin: isbn,
|
109
|
+
publisher: publisher,
|
110
|
+
published: "#{published}#{', ' if published && !price&.empty?}"
|
111
|
+
}
|
112
|
+
|
113
|
+
elsif raw.at_css('#dp.ebooks_mobile') # ebooks
|
114
|
+
title = raw.at("#ebooksTitle")&.inner_text
|
115
|
+
authors = raw.at_css('#a-popover-mobile-udp-contributor-popover-id') ? multiple_authors("//div[@id='a-popover-mobile-udp-contributor-popover-id']//span[contains(@class,'a-text-bold')]") : (raw.at("#byline")&.inner_text&.strip || raw.at("#bylineInfo")&.inner_text&.strip)
|
116
|
+
rating = raw.at("#averageCustomerReviews_feature_div .a-icon")&.inner_text || raw.at("#cmrsArcLink .a-icon")&.inner_text || raw.at("#acrCustomerReviewLink .a-icon")&.inner_text
|
117
|
+
|
118
|
+
table_xpath = "//div[@id='detailBullets_secondary_view_div']//ul"
|
119
|
+
asin = raw.xpath("#{table_xpath}//li[4]/span/span[2]").inner_text
|
120
|
+
|
121
|
+
# if ASIN is misplaced or absent it's hard to find out which data is
|
122
|
+
# available and where to find it so just set it all to nil
|
123
|
+
if /^[0-9A-Z]{10}$/.match(asin)
|
124
|
+
publisher = raw.xpath("#{table_xpath}//li[2]/span/span[2]").inner_text
|
125
|
+
published = raw.xpath("#{table_xpath}//li[1]/span/span[2]").inner_text
|
126
|
+
else
|
127
|
+
asin = publisher = published = nil
|
128
|
+
end
|
129
|
+
|
130
|
+
result = {
|
131
|
+
link: link,
|
132
|
+
title: title,
|
133
|
+
by_info: authors,
|
134
|
+
image: og[:image] || image,
|
135
|
+
description: raw.at("#productDescription")&.inner_text,
|
136
|
+
rating: "#{rating}#{', ' if rating && (!asin&.empty? || !price&.empty?)}",
|
137
|
+
price: price,
|
138
|
+
isbn_asin_text: "ASIN",
|
139
|
+
isbn_asin: asin,
|
140
|
+
publisher: publisher,
|
141
|
+
published: "#{published}#{', ' if published && !price&.empty?}"
|
142
|
+
}
|
143
|
+
|
144
|
+
else
|
145
|
+
title = og[:title] || CGI.unescapeHTML(raw.css("title").inner_text)
|
146
|
+
result = {
|
147
|
+
link: link,
|
148
|
+
title: title,
|
149
|
+
image: og[:image] || image,
|
150
|
+
price: price
|
151
|
+
}
|
152
|
+
|
153
|
+
result[:by_info] = raw.at("#by-line")
|
154
|
+
result[:by_info] = Onebox::Helpers.clean(result[:by_info].inner_html) if result[:by_info]
|
155
|
+
|
156
|
+
summary = raw.at("#productDescription")
|
157
|
+
result[:description] = og[:description] || (summary && summary.inner_text)
|
158
|
+
end
|
159
|
+
|
79
160
|
result
|
80
161
|
end
|
81
162
|
end
|
data/lib/onebox/version.rb
CHANGED
data/onebox.gemspec
CHANGED
@@ -10,14 +10,14 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.version = Onebox::VERSION
|
11
11
|
spec.authors = ['Joanna Zeta', 'Vyki Englert', 'Robin Ward']
|
12
12
|
spec.email = ['holla@jzeta.com', 'vyki.englert@gmail.com', 'robin.ward@gmail.com']
|
13
|
-
spec.description = %q{A gem for
|
13
|
+
spec.description = %q{A gem for generating embeddable HTML previews from URLs.}
|
14
14
|
spec.summary = spec.description
|
15
15
|
spec.homepage = 'https://github.com/discourse/onebox'
|
16
16
|
spec.license = 'MIT'
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
spec.
|
18
|
+
# specs are too heavy to include they have tons of big fixtures
|
19
|
+
# Git repo link exists so you can download from there
|
20
|
+
spec.files = `git ls-files`.split($/).reject { |s| s =~ /^(spec|web)/ }
|
21
21
|
spec.require_paths = ['lib']
|
22
22
|
|
23
23
|
spec.add_runtime_dependency 'multi_json', '~> 1.11'
|
@@ -42,5 +42,5 @@ Gem::Specification.new do |spec|
|
|
42
42
|
spec.add_development_dependency 'haml', '~> 4.0'
|
43
43
|
spec.add_development_dependency 'listen', '~> 2.10.0'
|
44
44
|
|
45
|
-
spec.required_ruby_version = '>=2.
|
45
|
+
spec.required_ruby_version = '>=2.3.0'
|
46
46
|
end
|
data/templates/amazon.mustache
CHANGED
@@ -3,4 +3,10 @@
|
|
3
3
|
<h3><a href='{{link}}' target='_blank'>{{title}}</a></h3>
|
4
4
|
{{#by_info}}<b>{{by_info}}</b>{{/by_info}}
|
5
5
|
<p>{{description}}</p>
|
6
|
-
<p
|
6
|
+
<p>
|
7
|
+
{{#rating}}{{rating}}{{/rating}}
|
8
|
+
{{#isbn_asin}}{{isbn_asin_text}}: {{isbn_asin}}, {{/isbn_asin}}
|
9
|
+
{{#publisher}}{{publisher}}, {{/publisher}}
|
10
|
+
{{#published}}{{published}}{{/published}}
|
11
|
+
<strong>{{price}}</strong>
|
12
|
+
</p>
|
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.8.
|
4
|
+
version: 1.8.40
|
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: 2018-02-
|
13
|
+
date: 2018-02-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: multi_json
|
@@ -292,7 +292,7 @@ dependencies:
|
|
292
292
|
- - "~>"
|
293
293
|
- !ruby/object:Gem::Version
|
294
294
|
version: 2.10.0
|
295
|
-
description: A gem for
|
295
|
+
description: A gem for generating embeddable HTML previews from URLs.
|
296
296
|
email:
|
297
297
|
- holla@jzeta.com
|
298
298
|
- vyki.englert@gmail.com
|
@@ -383,88 +383,6 @@ files:
|
|
383
383
|
- lib/onebox/web.rb
|
384
384
|
- lib/onebox/web_helpers.rb
|
385
385
|
- onebox.gemspec
|
386
|
-
- spec/fixtures/amazon-og.response
|
387
|
-
- spec/fixtures/amazon.response
|
388
|
-
- spec/fixtures/cloudapp-gif.response
|
389
|
-
- spec/fixtures/cloudapp-jpg.response
|
390
|
-
- spec/fixtures/cloudapp-mp4.response
|
391
|
-
- spec/fixtures/cloudapp-others.response
|
392
|
-
- spec/fixtures/dailymail.response
|
393
|
-
- spec/fixtures/discourse_topic.response
|
394
|
-
- spec/fixtures/discourse_topic_reply.response
|
395
|
-
- spec/fixtures/douban.response
|
396
|
-
- spec/fixtures/etsy.response
|
397
|
-
- spec/fixtures/etsy_mobile.response
|
398
|
-
- spec/fixtures/gfycat.response
|
399
|
-
- spec/fixtures/githubblob.response
|
400
|
-
- spec/fixtures/githubcommit.response
|
401
|
-
- spec/fixtures/githubgist.response
|
402
|
-
- spec/fixtures/githubpullrequest.response
|
403
|
-
- spec/fixtures/googleplayapp.response
|
404
|
-
- spec/fixtures/image.response
|
405
|
-
- spec/fixtures/meetup.response.html
|
406
|
-
- spec/fixtures/meetup_oembed.response
|
407
|
-
- spec/fixtures/pubmed-electronic-xml.response
|
408
|
-
- spec/fixtures/pubmed-electronic.response
|
409
|
-
- spec/fixtures/pubmed-xml.response
|
410
|
-
- spec/fixtures/pubmed.response
|
411
|
-
- spec/fixtures/slides.response
|
412
|
-
- spec/fixtures/stackexchange-answer.response
|
413
|
-
- spec/fixtures/stackexchange-question.response
|
414
|
-
- spec/fixtures/twitterstatus.response
|
415
|
-
- spec/fixtures/video.response
|
416
|
-
- spec/fixtures/wechat-mp.response
|
417
|
-
- spec/fixtures/wikimedia.response
|
418
|
-
- spec/fixtures/wikipedia.response
|
419
|
-
- spec/fixtures/wikipediaredirected.response
|
420
|
-
- spec/fixtures/xkcd.response
|
421
|
-
- spec/fixtures/youku-meta.response
|
422
|
-
- spec/fixtures/youku.response
|
423
|
-
- spec/fixtures/youtube-channel.response
|
424
|
-
- spec/fixtures/youtube-json.response
|
425
|
-
- spec/fixtures/youtube-list-json.response
|
426
|
-
- spec/fixtures/youtube.response
|
427
|
-
- spec/lib/onebox/engine/amazon_onebox_spec.rb
|
428
|
-
- spec/lib/onebox/engine/audio_onebox_spec.rb
|
429
|
-
- spec/lib/onebox/engine/cloudapp_onebox_spec.rb
|
430
|
-
- spec/lib/onebox/engine/douban_onebox_spec.rb
|
431
|
-
- spec/lib/onebox/engine/gfycat_onebox_spec.rb
|
432
|
-
- spec/lib/onebox/engine/github_blob_onebox_spec.rb
|
433
|
-
- spec/lib/onebox/engine/github_commit_onebox_spec.rb
|
434
|
-
- spec/lib/onebox/engine/github_gist_onebox_spec.rb
|
435
|
-
- spec/lib/onebox/engine/github_pullrequest_onebox_spec.rb
|
436
|
-
- spec/lib/onebox/engine/google_docs_onebox_spec.rb
|
437
|
-
- spec/lib/onebox/engine/google_maps_onebox_spec.rb
|
438
|
-
- spec/lib/onebox/engine/google_play_app_onebox_spec.rb
|
439
|
-
- spec/lib/onebox/engine/html_spec.rb
|
440
|
-
- spec/lib/onebox/engine/image_onebox_spec.rb
|
441
|
-
- spec/lib/onebox/engine/json_spec.rb
|
442
|
-
- spec/lib/onebox/engine/pdf_onebox_spec.rb
|
443
|
-
- spec/lib/onebox/engine/pubmed_onebox_spec.rb
|
444
|
-
- spec/lib/onebox/engine/slides_onebox_spec.rb
|
445
|
-
- spec/lib/onebox/engine/stack_exchange_onebox_spec.rb
|
446
|
-
- spec/lib/onebox/engine/trello_onebox_spec.rb
|
447
|
-
- spec/lib/onebox/engine/twitch_clips_onebox_spec.rb
|
448
|
-
- spec/lib/onebox/engine/twitch_stream_onebox_spec.rb
|
449
|
-
- spec/lib/onebox/engine/twitch_video_onebox_spec.rb
|
450
|
-
- spec/lib/onebox/engine/twitter_status_onebox_spec.rb
|
451
|
-
- spec/lib/onebox/engine/video_onebox_spec.rb
|
452
|
-
- spec/lib/onebox/engine/wechat_mp_onebox_spec.rb
|
453
|
-
- spec/lib/onebox/engine/whitelisted_generic_onebox_spec.rb
|
454
|
-
- spec/lib/onebox/engine/wikimedia_onebox_spec.rb
|
455
|
-
- spec/lib/onebox/engine/wikipedia_onebox_spec.rb
|
456
|
-
- spec/lib/onebox/engine/xkcd_spec.rb
|
457
|
-
- spec/lib/onebox/engine/youku_onebox_spec.rb
|
458
|
-
- spec/lib/onebox/engine/youtube_onebox_spec.rb
|
459
|
-
- spec/lib/onebox/engine_spec.rb
|
460
|
-
- spec/lib/onebox/helpers_spec.rb
|
461
|
-
- spec/lib/onebox/layout_spec.rb
|
462
|
-
- spec/lib/onebox/matcher_spec.rb
|
463
|
-
- spec/lib/onebox/preview_spec.rb
|
464
|
-
- spec/lib/onebox/status_check_spec.rb
|
465
|
-
- spec/lib/onebox_spec.rb
|
466
|
-
- spec/spec_helper.rb
|
467
|
-
- spec/support/html_spec_helper.rb
|
468
386
|
- templates/_layout.mustache
|
469
387
|
- templates/amazon.mustache
|
470
388
|
- templates/douban.mustache
|
@@ -485,12 +403,6 @@ files:
|
|
485
403
|
- templates/wikimedia.mustache
|
486
404
|
- templates/wikipedia.mustache
|
487
405
|
- templates/xkcd.mustache
|
488
|
-
- web/assets/javascripts/jquery.js
|
489
|
-
- web/assets/javascripts/main.js
|
490
|
-
- web/assets/stylesheets/normalize.css
|
491
|
-
- web/assets/stylesheets/style.css
|
492
|
-
- web/views/index.haml
|
493
|
-
- web/views/layout.haml
|
494
406
|
homepage: https://github.com/discourse/onebox
|
495
407
|
licenses:
|
496
408
|
- MIT
|
@@ -503,7 +415,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
503
415
|
requirements:
|
504
416
|
- - ">="
|
505
417
|
- !ruby/object:Gem::Version
|
506
|
-
version: 2.
|
418
|
+
version: 2.3.0
|
507
419
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
508
420
|
requirements:
|
509
421
|
- - ">="
|
@@ -511,90 +423,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
511
423
|
version: '0'
|
512
424
|
requirements: []
|
513
425
|
rubyforge_project:
|
514
|
-
rubygems_version: 2.7.
|
426
|
+
rubygems_version: 2.7.3
|
515
427
|
signing_key:
|
516
428
|
specification_version: 4
|
517
|
-
summary: A gem for
|
518
|
-
test_files:
|
519
|
-
- spec/fixtures/amazon-og.response
|
520
|
-
- spec/fixtures/amazon.response
|
521
|
-
- spec/fixtures/cloudapp-gif.response
|
522
|
-
- spec/fixtures/cloudapp-jpg.response
|
523
|
-
- spec/fixtures/cloudapp-mp4.response
|
524
|
-
- spec/fixtures/cloudapp-others.response
|
525
|
-
- spec/fixtures/dailymail.response
|
526
|
-
- spec/fixtures/discourse_topic.response
|
527
|
-
- spec/fixtures/discourse_topic_reply.response
|
528
|
-
- spec/fixtures/douban.response
|
529
|
-
- spec/fixtures/etsy.response
|
530
|
-
- spec/fixtures/etsy_mobile.response
|
531
|
-
- spec/fixtures/gfycat.response
|
532
|
-
- spec/fixtures/githubblob.response
|
533
|
-
- spec/fixtures/githubcommit.response
|
534
|
-
- spec/fixtures/githubgist.response
|
535
|
-
- spec/fixtures/githubpullrequest.response
|
536
|
-
- spec/fixtures/googleplayapp.response
|
537
|
-
- spec/fixtures/image.response
|
538
|
-
- spec/fixtures/meetup.response.html
|
539
|
-
- spec/fixtures/meetup_oembed.response
|
540
|
-
- spec/fixtures/pubmed-electronic-xml.response
|
541
|
-
- spec/fixtures/pubmed-electronic.response
|
542
|
-
- spec/fixtures/pubmed-xml.response
|
543
|
-
- spec/fixtures/pubmed.response
|
544
|
-
- spec/fixtures/slides.response
|
545
|
-
- spec/fixtures/stackexchange-answer.response
|
546
|
-
- spec/fixtures/stackexchange-question.response
|
547
|
-
- spec/fixtures/twitterstatus.response
|
548
|
-
- spec/fixtures/video.response
|
549
|
-
- spec/fixtures/wechat-mp.response
|
550
|
-
- spec/fixtures/wikimedia.response
|
551
|
-
- spec/fixtures/wikipedia.response
|
552
|
-
- spec/fixtures/wikipediaredirected.response
|
553
|
-
- spec/fixtures/xkcd.response
|
554
|
-
- spec/fixtures/youku-meta.response
|
555
|
-
- spec/fixtures/youku.response
|
556
|
-
- spec/fixtures/youtube-channel.response
|
557
|
-
- spec/fixtures/youtube-json.response
|
558
|
-
- spec/fixtures/youtube-list-json.response
|
559
|
-
- spec/fixtures/youtube.response
|
560
|
-
- spec/lib/onebox/engine/amazon_onebox_spec.rb
|
561
|
-
- spec/lib/onebox/engine/audio_onebox_spec.rb
|
562
|
-
- spec/lib/onebox/engine/cloudapp_onebox_spec.rb
|
563
|
-
- spec/lib/onebox/engine/douban_onebox_spec.rb
|
564
|
-
- spec/lib/onebox/engine/gfycat_onebox_spec.rb
|
565
|
-
- spec/lib/onebox/engine/github_blob_onebox_spec.rb
|
566
|
-
- spec/lib/onebox/engine/github_commit_onebox_spec.rb
|
567
|
-
- spec/lib/onebox/engine/github_gist_onebox_spec.rb
|
568
|
-
- spec/lib/onebox/engine/github_pullrequest_onebox_spec.rb
|
569
|
-
- spec/lib/onebox/engine/google_docs_onebox_spec.rb
|
570
|
-
- spec/lib/onebox/engine/google_maps_onebox_spec.rb
|
571
|
-
- spec/lib/onebox/engine/google_play_app_onebox_spec.rb
|
572
|
-
- spec/lib/onebox/engine/html_spec.rb
|
573
|
-
- spec/lib/onebox/engine/image_onebox_spec.rb
|
574
|
-
- spec/lib/onebox/engine/json_spec.rb
|
575
|
-
- spec/lib/onebox/engine/pdf_onebox_spec.rb
|
576
|
-
- spec/lib/onebox/engine/pubmed_onebox_spec.rb
|
577
|
-
- spec/lib/onebox/engine/slides_onebox_spec.rb
|
578
|
-
- spec/lib/onebox/engine/stack_exchange_onebox_spec.rb
|
579
|
-
- spec/lib/onebox/engine/trello_onebox_spec.rb
|
580
|
-
- spec/lib/onebox/engine/twitch_clips_onebox_spec.rb
|
581
|
-
- spec/lib/onebox/engine/twitch_stream_onebox_spec.rb
|
582
|
-
- spec/lib/onebox/engine/twitch_video_onebox_spec.rb
|
583
|
-
- spec/lib/onebox/engine/twitter_status_onebox_spec.rb
|
584
|
-
- spec/lib/onebox/engine/video_onebox_spec.rb
|
585
|
-
- spec/lib/onebox/engine/wechat_mp_onebox_spec.rb
|
586
|
-
- spec/lib/onebox/engine/whitelisted_generic_onebox_spec.rb
|
587
|
-
- spec/lib/onebox/engine/wikimedia_onebox_spec.rb
|
588
|
-
- spec/lib/onebox/engine/wikipedia_onebox_spec.rb
|
589
|
-
- spec/lib/onebox/engine/xkcd_spec.rb
|
590
|
-
- spec/lib/onebox/engine/youku_onebox_spec.rb
|
591
|
-
- spec/lib/onebox/engine/youtube_onebox_spec.rb
|
592
|
-
- spec/lib/onebox/engine_spec.rb
|
593
|
-
- spec/lib/onebox/helpers_spec.rb
|
594
|
-
- spec/lib/onebox/layout_spec.rb
|
595
|
-
- spec/lib/onebox/matcher_spec.rb
|
596
|
-
- spec/lib/onebox/preview_spec.rb
|
597
|
-
- spec/lib/onebox/status_check_spec.rb
|
598
|
-
- spec/lib/onebox_spec.rb
|
599
|
-
- spec/spec_helper.rb
|
600
|
-
- spec/support/html_spec_helper.rb
|
429
|
+
summary: A gem for generating embeddable HTML previews from URLs.
|
430
|
+
test_files: []
|