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"]
|
||||
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 = ""
|
||||
if child["data"]["replies"] != ""
|
||||
replies_html = template_comments(child["data"]["replies"]["data"]["children"])
|
||||
|
@ -402,7 +399,8 @@ def template_comments(root)
|
|||
if child["data"]["depth"].as_i > 0
|
||||
html += <<-END_HTML
|
||||
<div class="pure-g">
|
||||
<div class="pure-u-1-24"></div>
|
||||
<div class="pure-u-1-24">
|
||||
</div>
|
||||
<div class="pure-u-23-24">
|
||||
#{content}
|
||||
</div>
|
||||
|
@ -483,7 +481,7 @@ def fill_links(html, scheme, host)
|
|||
html.xpath_nodes("//a").each do |match|
|
||||
url = URI.parse(match["href"])
|
||||
# Reddit links don't have host
|
||||
if !url.host
|
||||
if !url.host && !match["href"].starts_with?("javascript")
|
||||
url.scheme = scheme
|
||||
url.host = host
|
||||
match["href"] = url
|
||||
|
|
|
@ -296,6 +296,7 @@ get "/watch" do |env|
|
|||
reddit_comments, reddit_thread = get_reddit_comments(id, reddit_client, headers)
|
||||
reddit_html = template_comments(reddit_comments)
|
||||
|
||||
reddit_html = fill_links(reddit_html, "https", "www.reddit.com")
|
||||
reddit_html = add_alt_links(reddit_html)
|
||||
rescue ex
|
||||
reddit_thread = nil
|
||||
|
|
Loading…
Reference in a new issue