onebox 1.6.8 → 1.6.9
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36f15273d10858172cd6d0b0668c25395658e891
|
4
|
+
data.tar.gz: 7d0c3595d380b65c8d9295af3bf7e7776a880130
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cfba0462966d9fe253e909068eb9f0d44544241e9e5cfc854f88559aa05d798b3dbe0e6780df4a2a77809de1532c343579edeb237e1dfa23f335fa11748016a5
|
7
|
+
data.tar.gz: be7b95948b00676be78a720158ed51fe446ec845c4f7a4e04e4959299d2050f2a013c2843ed76630f96f1ecf4ff4e8619c562b23c30496ea4fc79cc70e1b27c5
|
data/lib/onebox/engine.rb
CHANGED
@@ -166,3 +166,5 @@ require_relative "engine/vimeo_onebox"
|
|
166
166
|
require_relative "engine/steam_store_onebox"
|
167
167
|
require_relative "engine/sketchfab_onebox"
|
168
168
|
require_relative "engine/audioboom_onebox"
|
169
|
+
require_relative "engine/replit_onebox"
|
170
|
+
require_relative "engine/asciinema_onebox"
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Onebox
|
2
|
+
module Engine
|
3
|
+
class AsciinemaOnebox
|
4
|
+
include Engine
|
5
|
+
include StandardEmbed
|
6
|
+
|
7
|
+
always_https
|
8
|
+
|
9
|
+
matches_regexp(/^https?:\/\/asciinema\.org\/a\/[\p{Alnum}_\-]+$/)
|
10
|
+
|
11
|
+
def to_html
|
12
|
+
"<script type='text/javascript' src='https://asciinema.org/a/#{match[:asciinema_id]}.js' id='asciicast-#{match[:asciinema_id]}' async></script>"
|
13
|
+
end
|
14
|
+
|
15
|
+
def placeholder_html
|
16
|
+
"<img src='https://asciinema.org/a/#{match[:asciinema_id]}.png'>"
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def match
|
22
|
+
@match ||= @url.match(/asciinema\.org\/a\/(?<asciinema_id>[\p{Alnum}_\-]+)$/)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Onebox
|
2
|
+
module Engine
|
3
|
+
class ReplitOnebox
|
4
|
+
include Engine
|
5
|
+
include StandardEmbed
|
6
|
+
|
7
|
+
matches_regexp(/^https?:\/\/repl\.it\/.+/)
|
8
|
+
always_https
|
9
|
+
|
10
|
+
def placeholder_html
|
11
|
+
oembed = get_oembed
|
12
|
+
|
13
|
+
# we want the image to have the same dimensions as the embedded html
|
14
|
+
|
15
|
+
<<-HTML
|
16
|
+
<img src="#{oembed[:thumbnail_url]}" style="max-width: #{oembed[:width]}px; max-height: #{oembed[:height]}px;" #{Helpers.title_attr(oembed)}>
|
17
|
+
HTML
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_html
|
21
|
+
oembed = get_oembed
|
22
|
+
oembed[:html]
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -205,6 +205,10 @@ module Onebox
|
|
205
205
|
if !Onebox::Helpers.blank?(d[:description])
|
206
206
|
d[:description] = html_entities.decode(Onebox::Helpers.truncate(d[:description].strip, 250))
|
207
207
|
end
|
208
|
+
if !Onebox::Helpers.blank?(d[:domain])
|
209
|
+
d[:domain] = "http://#{d[:domain]}" unless d[:domain] =~ /^https?:\/\//
|
210
|
+
d[:domain] = URI(d[:domain]).host.to_s.sub(/^www\./, '')
|
211
|
+
end
|
208
212
|
d
|
209
213
|
end
|
210
214
|
end
|
@@ -275,6 +279,7 @@ module Onebox
|
|
275
279
|
end
|
276
280
|
|
277
281
|
def video_html
|
282
|
+
video_url = !Onebox::Helpers.blank?(data[:video_secure_url]) ? data[:video_secure_url] : data[:video]
|
278
283
|
if data[:video_type] == "video/mp4"
|
279
284
|
<<-HTML
|
280
285
|
<video title='#{data[:title]}'
|
@@ -282,12 +287,12 @@ module Onebox
|
|
282
287
|
height='#{data[:video_height]}'
|
283
288
|
style='max-width:100%'
|
284
289
|
controls=''>
|
285
|
-
<source src='#{
|
290
|
+
<source src='#{video_url}'>
|
286
291
|
</video>
|
287
292
|
HTML
|
288
293
|
else
|
289
294
|
<<-HTML
|
290
|
-
<iframe src='#{
|
295
|
+
<iframe src='#{video_url}'
|
291
296
|
title='#{data[:title]}'
|
292
297
|
width='#{data[:video_width]}'
|
293
298
|
height='#{data[:video_height]}'
|
data/lib/onebox/layout.rb
CHANGED
data/lib/onebox/version.rb
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.6.
|
4
|
+
version: 1.6.9
|
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:
|
13
|
+
date: 2017-01-03 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: multi_json
|
@@ -315,6 +315,7 @@ files:
|
|
315
315
|
- lib/onebox.rb
|
316
316
|
- lib/onebox/engine.rb
|
317
317
|
- lib/onebox/engine/amazon_onebox.rb
|
318
|
+
- lib/onebox/engine/asciinema_onebox.rb
|
318
319
|
- lib/onebox/engine/audio_onebox.rb
|
319
320
|
- lib/onebox/engine/audioboom_onebox.rb
|
320
321
|
- lib/onebox/engine/douban_onebox.rb
|
@@ -335,6 +336,7 @@ files:
|
|
335
336
|
- lib/onebox/engine/json.rb
|
336
337
|
- lib/onebox/engine/pastebin_onebox.rb
|
337
338
|
- lib/onebox/engine/pubmed_onebox.rb
|
339
|
+
- lib/onebox/engine/replit_onebox.rb
|
338
340
|
- lib/onebox/engine/sketchfab_onebox.rb
|
339
341
|
- lib/onebox/engine/slides_onebox.rb
|
340
342
|
- lib/onebox/engine/soundcloud_onebox.rb
|
@@ -464,7 +466,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
464
466
|
version: '0'
|
465
467
|
requirements: []
|
466
468
|
rubyforge_project:
|
467
|
-
rubygems_version: 2.
|
469
|
+
rubygems_version: 2.6.8
|
468
470
|
signing_key:
|
469
471
|
specification_version: 4
|
470
472
|
summary: A gem for turning URLs into previews.
|