Use alternate thumbnail url for search page

このコミットが含まれているのは:
Omar Roth 2018-03-28 19:01:07 -05:00
コミット e89f15a65c
2個のファイルの変更10行の追加21行の削除

ファイルの表示

@ -321,12 +321,13 @@ get "/search" do |env|
if root
video = {} of String => String
link = root.xpath_node(%q(div[contains(@class,"yt-lockup-thumbnail")]/a/@href))
if link
video["link"] = link.content
id = root.xpath_node(%q(div[contains(@class,"yt-lockup-thumbnail")]/a/@href))
if id
id = id.content.lchop("/watch?v=")
else
video["link"] = "#"
id = ""
end
video["id"] = id
title = root.xpath_node(%q(div[@class="yt-lockup-content"]/h3/a))
if title
@ -335,25 +336,13 @@ get "/search" do |env|
video["title"] = "Something went wrong"
end
thumbnail = root.xpath_node(%q(div[contains(@class,"yt-lockup-thumbnail")]/a/div/span/img/@src))
if thumbnail && !thumbnail.content.ends_with?(".gif")
video["thumbnail"] = thumbnail.content
else
thumbnail = root.xpath_node(%q(div[contains(@class,"yt-lockup-thumbnail")]/a/div/span/img/@data-thumb))
if thumbnail
video["thumbnail"] = thumbnail.content
else
video["thumbnail"] = "https://dummyimage.com/246x138"
end
end
author = root.xpath_node(%q(div[@class="yt-lockup-content"]/div/a))
if author
video["author"] = author.content
video["author_url"] = author["href"]
video["ucid_url"] = author["href"]
else
video["author"] = ""
video["author_url"] = ""
video["ucid_url"] = ""
end
videos << video

ファイルの表示

@ -7,12 +7,12 @@
<% slice.each do |video| %>
<div class="pure-u-1 pure-u-md-1-4">
<div style="overflow-wrap:break-word; word-wrap:break-word;" class="h-box">
<a style="width:100%;" href="<%= video["link"] %>">
<img style="width:100%;" src="<%= video["thumbnail"] %>"/>
<a style="width:100%;" href="/watch?v=<%= video["id"] %>">
<img style="width:100%;" src="https://i1.ytimg.com/vi/<%= video["id"] %>/mqdefault.jpg"/>
<p><%= video["title"] %></p>
</a>
<p>
<b><a style="width:100%;" href="<%= video["author_url"]%>"><%= video["author"] %></a></b>
<b><a style="width:100%;" href="https://youtube.com<%= video["ucid_url"]%>"><%= video["author"] %></a></b>
</p>
</div>
</div>