onebox 2.2.12 → 2.2.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rspec +0 -4
- data/lib/onebox/engine.rb +7 -11
- data/lib/onebox/engine/allowlisted_generic_onebox.rb +11 -18
- data/lib/onebox/engine/amazon_onebox.rb +26 -17
- data/lib/onebox/engine/asciinema_onebox.rb +0 -1
- data/lib/onebox/engine/audioboom_onebox.rb +5 -2
- data/lib/onebox/engine/bandcamp_onebox.rb +8 -8
- data/lib/onebox/engine/cloudapp_onebox.rb +12 -12
- data/lib/onebox/engine/coub_onebox.rb +0 -1
- data/lib/onebox/engine/facebook_media_onebox.rb +8 -7
- data/lib/onebox/engine/five_hundred_px_onebox.rb +0 -1
- data/lib/onebox/engine/flickr_onebox.rb +14 -15
- data/lib/onebox/engine/gfycat_onebox.rb +26 -26
- data/lib/onebox/engine/giphy_onebox.rb +0 -1
- data/lib/onebox/engine/github_blob_onebox.rb +4 -0
- data/lib/onebox/engine/github_commit_onebox.rb +13 -16
- data/lib/onebox/engine/github_folder_onebox.rb +1 -1
- data/lib/onebox/engine/github_gist_onebox.rb +1 -2
- data/lib/onebox/engine/github_issue_onebox.rb +16 -18
- data/lib/onebox/engine/github_pullrequest_onebox.rb +7 -4
- data/lib/onebox/engine/gitlab_blob_onebox.rb +4 -0
- data/lib/onebox/engine/google_calendar_onebox.rb +1 -1
- data/lib/onebox/engine/google_docs_onebox.rb +23 -41
- data/lib/onebox/engine/google_drive_onebox.rb +7 -7
- data/lib/onebox/engine/google_maps_onebox.rb +10 -8
- data/lib/onebox/engine/google_photos_onebox.rb +18 -18
- data/lib/onebox/engine/google_play_app_onebox.rb +3 -7
- data/lib/onebox/engine/imgur_onebox.rb +2 -2
- data/lib/onebox/engine/instagram_onebox.rb +4 -5
- data/lib/onebox/engine/kaltura_onebox.rb +8 -6
- data/lib/onebox/engine/opengraph_image.rb +0 -1
- data/lib/onebox/engine/pastebin_onebox.rb +11 -15
- data/lib/onebox/engine/pdf_onebox.rb +7 -15
- data/lib/onebox/engine/pubmed_onebox.rb +17 -12
- data/lib/onebox/engine/replit_onebox.rb +0 -1
- data/lib/onebox/engine/sketchfab_onebox.rb +8 -8
- data/lib/onebox/engine/slides_onebox.rb +10 -10
- data/lib/onebox/engine/soundcloud_onebox.rb +0 -1
- data/lib/onebox/engine/stack_exchange_onebox.rb +3 -2
- data/lib/onebox/engine/standard_embed.rb +2 -5
- data/lib/onebox/engine/steam_store_onebox.rb +6 -5
- data/lib/onebox/engine/trello_onebox.rb +4 -7
- data/lib/onebox/engine/twitch_clips_onebox.rb +1 -3
- data/lib/onebox/engine/twitch_stream_onebox.rb +1 -2
- data/lib/onebox/engine/twitch_video_onebox.rb +0 -2
- data/lib/onebox/engine/typeform_onebox.rb +7 -6
- data/lib/onebox/engine/vimeo_onebox.rb +9 -7
- data/lib/onebox/engine/wikimedia_onebox.rb +1 -2
- data/lib/onebox/engine/wikipedia_onebox.rb +12 -8
- data/lib/onebox/engine/youku_onebox.rb +7 -13
- data/lib/onebox/engine/youtube_onebox.rb +14 -13
- data/lib/onebox/file_type_finder.rb +0 -1
- data/lib/onebox/helpers.rb +7 -24
- data/lib/onebox/layout.rb +2 -14
- data/lib/onebox/matcher.rb +10 -8
- data/lib/onebox/mixins/git_blob_onebox.rb +8 -8
- data/lib/onebox/mixins/github_body.rb +30 -0
- data/lib/onebox/mixins/twitch_onebox.rb +0 -1
- data/lib/onebox/open_graph.rb +4 -4
- data/lib/onebox/preview.rb +3 -4
- data/lib/onebox/version.rb +1 -1
- data/templates/_layout.mustache +6 -2
- data/templates/allowlistedgeneric.mustache +8 -9
- data/templates/amazon.mustache +5 -2
- data/templates/github/github_body.mustache +5 -0
- data/templates/githubblob.mustache +44 -34
- data/templates/githubcommit.mustache +2 -10
- data/templates/githubfolder.mustache +2 -2
- data/templates/githubgist.mustache +9 -6
- data/templates/githubissue.mustache +9 -11
- data/templates/githubpullrequest.mustache +6 -18
- data/templates/gitlabblob.mustache +11 -4
- data/templates/googledocs.mustache +2 -2
- data/templates/googledrive.mustache +2 -2
- data/templates/googleplayapp.mustache +2 -1
- data/templates/instagram.mustache +1 -1
- data/templates/pastebin.mustache +6 -2
- data/templates/pdf.mustache +6 -3
- data/templates/stackexchange.mustache +1 -0
- data/templates/twitterstatus.mustache +20 -5
- data/templates/wikimedia.mustache +2 -2
- data/templates/wikipedia.mustache +2 -2
- data/templates/xkcd.mustache +2 -2
- metadata +7 -5
data/lib/onebox/open_graph.rb
CHANGED
@@ -17,10 +17,10 @@ module Onebox
|
|
17
17
|
!title.nil? ? "title='#{title}'" : ""
|
18
18
|
end
|
19
19
|
|
20
|
-
def
|
21
|
-
|
22
|
-
|
23
|
-
|
20
|
+
def secure_image_url
|
21
|
+
secure_url = URI(get(:image))
|
22
|
+
secure_url.scheme = 'https'
|
23
|
+
secure_url.to_s
|
24
24
|
end
|
25
25
|
|
26
26
|
def method_missing(attr, *args, &block)
|
data/lib/onebox/preview.rb
CHANGED
@@ -2,13 +2,12 @@
|
|
2
2
|
|
3
3
|
module Onebox
|
4
4
|
class Preview
|
5
|
-
|
6
5
|
# see https://bugs.ruby-lang.org/issues/14688
|
7
6
|
client_exception = defined?(Net::HTTPClientException) ? Net::HTTPClientException : Net::HTTPServerException
|
8
7
|
WEB_EXCEPTIONS ||= [client_exception, OpenURI::HTTPError, Timeout::Error, Net::HTTPError, Errno::ECONNREFUSED]
|
9
8
|
|
10
|
-
def initialize(
|
11
|
-
@url =
|
9
|
+
def initialize(url, options = Onebox.options)
|
10
|
+
@url = url
|
12
11
|
@options = options.dup
|
13
12
|
|
14
13
|
allowed_origins = @options[:allowed_iframe_origins] || Onebox::Engine.all_iframe_origins
|
@@ -85,7 +84,7 @@ module Onebox
|
|
85
84
|
|
86
85
|
def engine
|
87
86
|
return nil unless @engine_class
|
88
|
-
return @engine if @engine
|
87
|
+
return @engine if defined?(@engine)
|
89
88
|
|
90
89
|
@engine = @engine_class.new(@url)
|
91
90
|
@engine.options = @options
|
data/lib/onebox/version.rb
CHANGED
data/templates/_layout.mustache
CHANGED
@@ -3,19 +3,23 @@
|
|
3
3
|
{{#favicon}}
|
4
4
|
<img src="{{favicon}}" class="site-icon"/>
|
5
5
|
{{/favicon}}
|
6
|
+
|
6
7
|
{{#article_published_time}}
|
7
|
-
<a href="{{link}}" target=
|
8
|
+
<a href="{{link}}" target="_blank" rel="noopener" title="{{article_published_time_title}}">{{domain}} – {{article_published_time}}</a>
|
8
9
|
{{/article_published_time}}
|
9
10
|
{{^article_published_time}}
|
10
|
-
<a href="{{link}}" target=
|
11
|
+
<a href="{{link}}" target="_blank" rel="noopener">{{domain}}</a>
|
11
12
|
{{/article_published_time}}
|
12
13
|
</header>
|
14
|
+
|
13
15
|
<article class="onebox-body">
|
14
16
|
{{{view}}}
|
15
17
|
</article>
|
18
|
+
|
16
19
|
<div class="onebox-metadata">
|
17
20
|
{{#metadata_1_label}}<span style="float: left;">{{metadata_1_label}}: {{metadata_1_value}}</span>{{/metadata_1_label}}
|
18
21
|
{{#metadata_2_label}}<span style="float: right;">{{metadata_2_label}}: {{metadata_2_value}}</span>{{/metadata_2_label}}
|
19
22
|
</div>
|
23
|
+
|
20
24
|
<div style="clear: both"></div>
|
21
25
|
</aside>
|
@@ -1,17 +1,16 @@
|
|
1
1
|
{{#image}}<img src="{{image}}" class="thumbnail"/>{{/image}}
|
2
2
|
|
3
|
-
<h3><a href=
|
3
|
+
<h3><a href="{{link}}" target="_blank" rel="noopener">{{title}}</a></h3>
|
4
4
|
|
5
5
|
{{#description}}
|
6
|
-
<p>{{description}}</p>
|
6
|
+
<p>{{description}}</p>
|
7
7
|
{{/description}}
|
8
8
|
|
9
9
|
{{#data_1}}
|
10
|
-
<p
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
{{/data_2}}
|
10
|
+
<p>
|
11
|
+
<span class="label1">{{label_1}}: {{data_1}}</span>
|
12
|
+
{{#data_2}}
|
13
|
+
<span class="label2">{{label_2}}: {{data_2}}</span>
|
14
|
+
{{/data_2}}
|
15
|
+
</p>
|
17
16
|
{{/data_1}}
|
data/templates/amazon.mustache
CHANGED
@@ -1,8 +1,11 @@
|
|
1
|
-
{{#image}}<img src="{{image}}" class="thumbnail"
|
1
|
+
{{#image}}<img src="{{image}}" class="thumbnail">{{/image}}
|
2
|
+
|
3
|
+
<h3><a href="{{link}}" target="_blank" rel="noopener">{{title}}</a></h3>
|
2
4
|
|
3
|
-
<h3><a href='{{link}}' target='_blank' rel='noopener'>{{title}}</a></h3>
|
4
5
|
{{#by_info}}<b>{{by_info}}</b>{{/by_info}}
|
6
|
+
|
5
7
|
<p>{{description}}</p>
|
8
|
+
|
6
9
|
<p>
|
7
10
|
{{#rating}}{{rating}}{{/rating}}
|
8
11
|
{{#isbn_asin}}{{isbn_asin_text}}: {{isbn_asin}}, {{/isbn_asin}}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
{{#body}}
|
2
|
+
<div class="github-row">
|
3
|
+
<p class="github-body-container">{{body}}{{#excerpt}}<span class="show-more-container"><a href="{{html_url}}" target="_blank" rel="noopener" class="show-more">…</a>{{/excerpt}}</span>{{#excerpt}}<span class="excerpt hidden">{{excerpt}}</span>{{/excerpt}}</p>
|
4
|
+
</div>
|
5
|
+
{{/body}}
|
@@ -1,42 +1,52 @@
|
|
1
1
|
<h4><a href="{{link}}" target="_blank" rel="noopener">{{title}}</a></h4>
|
2
|
+
|
2
3
|
{{^has_lines}}
|
3
|
-
{{#model_file}}
|
4
|
-
<iframe class="render-viewer" width="{{width}}" height="{{height}}" src="{{content}}" sandbox="allow-scripts allow-same-origin allow-top-navigation ">
|
5
|
-
Viewer requires iframe.
|
6
|
-
</iframe>
|
7
|
-
{{/model_file}}
|
8
|
-
|
9
|
-
|
10
|
-
{{
|
4
|
+
{{#model_file}}
|
5
|
+
<iframe class="render-viewer" width="{{width}}" height="{{height}}" src="{{content}}" sandbox="allow-scripts allow-same-origin allow-top-navigation ">
|
6
|
+
Viewer requires iframe.
|
7
|
+
</iframe>
|
8
|
+
{{/model_file}}
|
9
|
+
|
10
|
+
{{^model_file}}
|
11
|
+
<pre><code class="{{lang}}">{{content}}</code></pre>
|
12
|
+
{{/model_file}}
|
11
13
|
{{/has_lines}}
|
14
|
+
|
12
15
|
{{#has_lines}}
|
13
|
-
{{! This is a template comment | Sample rules for this box
|
14
|
-
<style>
|
15
|
-
pre.onebox code ol{
|
16
|
-
|
17
|
-
}
|
18
|
-
pre.onebox code ol .lines{
|
19
|
-
|
20
|
-
}
|
21
|
-
pre.onebox code ol.lines li {
|
22
|
-
|
23
|
-
|
24
|
-
}
|
25
|
-
pre.onebox code li{
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
16
|
+
{{! This is a template comment | Sample rules for this box
|
17
|
+
<style>
|
18
|
+
pre.onebox code ol{
|
19
|
+
margin-left:0px;
|
20
|
+
}
|
21
|
+
pre.onebox code ol .lines{
|
22
|
+
margin-left:30px;
|
23
|
+
}
|
24
|
+
pre.onebox code ol.lines li {
|
25
|
+
list-style-type: decimal;
|
26
|
+
margin-left:45px;
|
27
|
+
}
|
28
|
+
pre.onebox code li{
|
29
|
+
list-style-type: none;
|
30
|
+
background-color:#fff;
|
31
|
+
border-bottom:1px solid #F0F0F0;
|
32
|
+
padding-left:5px;
|
33
|
+
|
34
|
+
}
|
35
|
+
pre.onebox code li.selected{
|
36
|
+
background-color:#cfc
|
37
|
+
}
|
38
|
+
</style>
|
39
|
+
}}
|
30
40
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
}
|
35
|
-
</
|
36
|
-
}}
|
37
|
-
|
38
|
-
|
39
|
-
</
|
41
|
+
<pre class="onebox">
|
42
|
+
<code class="{{lang}}">
|
43
|
+
<ol class="start lines" start="{{cr_results.from}}" style="counter-reset: li-counter {{cr_results.from_minus_one}} ;">
|
44
|
+
{{#lines}}
|
45
|
+
<li{{#selected}} class="selected"{{/selected}}>{{data}}</li>
|
46
|
+
{{/lines}}
|
47
|
+
</ol>
|
48
|
+
</code>
|
49
|
+
</pre>
|
40
50
|
{{/has_lines}}
|
41
51
|
|
42
52
|
{{#truncated}}
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
<div class="github-info">
|
12
12
|
<div class="date">
|
13
|
-
committed <span class="discourse-local-date" data-format=
|
13
|
+
committed <span class="discourse-local-date" data-format="ll" data-date="{{committed_at_date}}" data-time="{{committed_at_time}}" data-timezone="UTC">{{committed_at}}</span>
|
14
14
|
</div>
|
15
15
|
|
16
16
|
<div class="user">
|
@@ -18,7 +18,6 @@
|
|
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>
|
21
|
-
|
22
21
|
</div>
|
23
22
|
|
24
23
|
<div class="lines" title="changed {{files.length}} files with {{stats.additions}} additions and {{stats.deletions}} deletions">
|
@@ -28,14 +27,7 @@
|
|
28
27
|
</a>
|
29
28
|
</div>
|
30
29
|
</div>
|
31
|
-
|
32
30
|
</div>
|
33
31
|
</div>
|
34
32
|
|
35
|
-
|
36
|
-
{{#message}}
|
37
|
-
<div class="github-row">
|
38
|
-
<pre class="github-content" style="white-space: normal;">{{message}}</pre>
|
39
|
-
</div>
|
40
|
-
{{/message}}
|
41
|
-
|
33
|
+
{{> github/github_body}}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
{{#image}}<img src="{{image}}" class="thumbnail"/>{{/image}}
|
2
2
|
|
3
|
-
<h3><a href=
|
3
|
+
<h3><a href="{{link}}" target="_blank" rel="noopener">{{title}}</a></h3>
|
4
4
|
|
5
5
|
{{#path}}
|
6
|
-
<p><a href=
|
6
|
+
<p><a href="{{link}}" target="_blank" rel="noopener">{{path}}</a></p>
|
7
7
|
{{/path}}
|
8
8
|
|
9
9
|
{{#description}}
|
@@ -1,12 +1,15 @@
|
|
1
1
|
<h4><a href="{{link}}" target="_blank" rel="noopener">{{link}}</a></h4>
|
2
|
+
|
2
3
|
{{#gist_files}}
|
3
|
-
<h5>{{filename}}</h5>
|
4
|
-
<pre><code class=
|
5
|
-
{{#truncated?}}
|
4
|
+
<h5>{{filename}}</h5>
|
5
|
+
<pre><code class="{{language}}">{{content}}</code></pre>
|
6
|
+
{{#truncated?}}
|
7
|
+
This file has been truncated. <a href="{{link}}" target="_blank" rel="noopener">show original</a>
|
8
|
+
{{/truncated?}}
|
6
9
|
{{/gist_files}}
|
7
10
|
|
8
11
|
<p>
|
9
|
-
{{#truncated_files?}}
|
10
|
-
|
11
|
-
{{/truncated_files?}}
|
12
|
+
{{#truncated_files?}}
|
13
|
+
There are more than three files. <a href="{{link}}" target="_blank" rel="noopener">show original</a>
|
14
|
+
{{/truncated_files?}}
|
12
15
|
</p>
|
@@ -10,12 +10,12 @@
|
|
10
10
|
|
11
11
|
<div class="github-info">
|
12
12
|
<div class="date">
|
13
|
-
opened <span class="discourse-local-date" data-format=
|
13
|
+
opened <span class="discourse-local-date" data-format="ll" data-date="{{created_at_date}}" data-time="{{created_at_time}}" data-timezone="UTC">{{created_at}}</span>
|
14
14
|
</div>
|
15
15
|
|
16
16
|
{{#closed_at}}
|
17
17
|
<div class="date">
|
18
|
-
closed <span class="discourse-local-date" data-format=
|
18
|
+
closed <span class="discourse-local-date" data-format="ll" data-date="{{closed_at_date}}" data-time="{{closed_at_time}}" data-timezone="UTC">{{closed_at}}</span>
|
19
19
|
</div>
|
20
20
|
{{/closed_at}}
|
21
21
|
|
@@ -26,15 +26,13 @@
|
|
26
26
|
</a>
|
27
27
|
</div>
|
28
28
|
</div>
|
29
|
-
</div>
|
30
|
-
</div>
|
31
29
|
|
32
|
-
<div class="
|
33
|
-
|
30
|
+
<div class="labels">
|
31
|
+
{{#labels}}
|
32
|
+
<span style="display:inline-block;margin-top:2px;background-color: #B8B8B8;padding: 2px;border-radius: 4px;color: #fff;margin-left: 3px;">{{name}}</span>
|
33
|
+
{{/labels}}
|
34
|
+
</div>
|
35
|
+
</div>
|
34
36
|
</div>
|
35
37
|
|
36
|
-
|
37
|
-
{{#labels}}
|
38
|
-
<span style="display:inline-block;margin-top:2px;background-color: #B8B8B8;padding: 2px;border-radius: 4px;color: #fff;margin-left: 3px;">{{name}}</span>
|
39
|
-
{{/labels}}
|
40
|
-
</div>
|
38
|
+
{{> github/github_body}}
|
@@ -4,22 +4,9 @@
|
|
4
4
|
</div>
|
5
5
|
|
6
6
|
<div class="github-info-container">
|
7
|
-
|
8
|
-
<
|
9
|
-
|
10
|
-
</h4>
|
11
|
-
{{/body}}
|
12
|
-
|
13
|
-
{{#body}}
|
14
|
-
<details class="onebox-details">
|
15
|
-
<summary class="onebox-details-summary">
|
16
|
-
<h4>
|
17
|
-
<a href="{{html_url}}" target="_blank" rel="noopener">{{title}}</a>
|
18
|
-
</h4>
|
19
|
-
</summary>
|
20
|
-
<p class="onebox-details-body">{{body}}</p>
|
21
|
-
</details>
|
22
|
-
{{/body}}
|
7
|
+
<h4>
|
8
|
+
<a href="{{html_url}}" target="_blank" rel="noopener">{{title}}</a>
|
9
|
+
</h4>
|
23
10
|
|
24
11
|
<div class="branches">
|
25
12
|
<code>{{base.label}}</code> ← <code>{{head.label}}</code>
|
@@ -27,7 +14,7 @@
|
|
27
14
|
|
28
15
|
<div class="github-info">
|
29
16
|
<div class="date">
|
30
|
-
opened <span class="discourse-local-date" data-format=
|
17
|
+
opened <span class="discourse-local-date" data-format="ll" data-date="{{created_at_date}}" data-time="{{created_at_time}}" data-timezone="UTC">{{created_at}}</span>
|
31
18
|
</div>
|
32
19
|
|
33
20
|
<div class="user">
|
@@ -44,6 +31,7 @@
|
|
44
31
|
</a>
|
45
32
|
</div>
|
46
33
|
</div>
|
47
|
-
|
48
34
|
</div>
|
49
35
|
</div>
|
36
|
+
|
37
|
+
{{> github/github_body}}
|
@@ -1,12 +1,19 @@
|
|
1
1
|
<h4><a href="{{link}}" target="_blank" rel="noopener">{{title}}</a></h4>
|
2
|
+
|
2
3
|
{{^has_lines}}
|
3
|
-
<pre><code class=
|
4
|
+
<pre><code class="{{lang}}">{{content}}</code></pre>
|
4
5
|
{{/has_lines}}
|
5
6
|
|
6
7
|
{{#has_lines}}
|
7
|
-
<pre class=
|
8
|
-
|
9
|
-
|
8
|
+
<pre class="onebox">
|
9
|
+
<code class="{{lang}}">
|
10
|
+
<ol class="start lines" start="{{cr_results.from}}" style="counter-reset: li-counter {{cr_results.from_minus_one}} ;">
|
11
|
+
{{#lines}}
|
12
|
+
<li{{#selected}} class="selected"{{/selected}}>{{data}}</li>
|
13
|
+
{{/lines}}
|
14
|
+
</ol>
|
15
|
+
</code>
|
16
|
+
</pre>
|
10
17
|
{{/has_lines}}
|
11
18
|
|
12
19
|
{{#truncated}}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
<a href=
|
1
|
+
<a href="{{link}}" target="_blank" rel="noopener"><span class="googledocs-onebox-logo g-{{type}}-logo"></span></a>
|
2
2
|
|
3
|
-
<h3><a href=
|
3
|
+
<h3><a href="{{link}}" target="_blank" rel="noopener">{{title}}</a></h3>
|
4
4
|
|
5
5
|
<p>{{description}}</p>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
{{^image}}
|
2
|
-
<a href=
|
2
|
+
<a href="{{link}}" target="_blank" rel="noopener"><span class="googledocs-onebox-logo g-drive-logo"></span></a>
|
3
3
|
{{/image}}
|
4
4
|
|
5
|
-
{{#image}}<img src="{{image}}" class="thumbnail"
|
5
|
+
{{#image}}<img src="{{image}}" class="thumbnail">{{/image}}
|
6
6
|
|
7
7
|
<h3><a href="{{link}}" target="_blank" rel="noopener">{{title}}</a></h3>
|
8
8
|
|
data/templates/pastebin.mustache
CHANGED
@@ -1,3 +1,7 @@
|
|
1
1
|
<h4><a href="{{link}}" target="_blank" rel="noopener">{{link}}</a></h4>
|
2
|
-
|
3
|
-
|
2
|
+
|
3
|
+
<pre><code class="lang-auto">{{content}}</code></pre>
|
4
|
+
|
5
|
+
{{#truncated?}}
|
6
|
+
This paste has been truncated. <a href="{{link}}" target="_blank" rel="noopener">show original</a>
|
7
|
+
{{/truncated?}}
|