Use fill_links once instead of per comment
This commit is contained in:
parent
815aeeb29c
commit
e2b5b7793a
|
@ -381,9 +381,6 @@ def template_comments(root)
|
||||||
score = child["data"]["score"]
|
score = child["data"]["score"]
|
||||||
body_html = HTML.unescape(child["data"]["body_html"].as_s)
|
body_html = HTML.unescape(child["data"]["body_html"].as_s)
|
||||||
|
|
||||||
# Replace local links wtih links back to Reddit
|
|
||||||
body_html = fill_links(body_html, "https", "www.reddit.com")
|
|
||||||
|
|
||||||
replies_html = ""
|
replies_html = ""
|
||||||
if child["data"]["replies"] != ""
|
if child["data"]["replies"] != ""
|
||||||
replies_html = template_comments(child["data"]["replies"]["data"]["children"])
|
replies_html = template_comments(child["data"]["replies"]["data"]["children"])
|
||||||
|
@ -402,7 +399,8 @@ def template_comments(root)
|
||||||
if child["data"]["depth"].as_i > 0
|
if child["data"]["depth"].as_i > 0
|
||||||
html += <<-END_HTML
|
html += <<-END_HTML
|
||||||
<div class="pure-g">
|
<div class="pure-g">
|
||||||
<div class="pure-u-1-24"></div>
|
<div class="pure-u-1-24">
|
||||||
|
</div>
|
||||||
<div class="pure-u-23-24">
|
<div class="pure-u-23-24">
|
||||||
#{content}
|
#{content}
|
||||||
</div>
|
</div>
|
||||||
|
@ -483,7 +481,7 @@ def fill_links(html, scheme, host)
|
||||||
html.xpath_nodes("//a").each do |match|
|
html.xpath_nodes("//a").each do |match|
|
||||||
url = URI.parse(match["href"])
|
url = URI.parse(match["href"])
|
||||||
# Reddit links don't have host
|
# Reddit links don't have host
|
||||||
if !url.host
|
if !url.host && !match["href"].starts_with?("javascript")
|
||||||
url.scheme = scheme
|
url.scheme = scheme
|
||||||
url.host = host
|
url.host = host
|
||||||
match["href"] = url
|
match["href"] = url
|
||||||
|
|
|
@ -296,6 +296,7 @@ get "/watch" do |env|
|
||||||
reddit_comments, reddit_thread = get_reddit_comments(id, reddit_client, headers)
|
reddit_comments, reddit_thread = get_reddit_comments(id, reddit_client, headers)
|
||||||
reddit_html = template_comments(reddit_comments)
|
reddit_html = template_comments(reddit_comments)
|
||||||
|
|
||||||
|
reddit_html = fill_links(reddit_html, "https", "www.reddit.com")
|
||||||
reddit_html = add_alt_links(reddit_html)
|
reddit_html = add_alt_links(reddit_html)
|
||||||
rescue ex
|
rescue ex
|
||||||
reddit_thread = nil
|
reddit_thread = nil
|
||||||
|
|
Loading…
Reference in a new issue