tumblr: convert commentary to dtext.
* Convert Tumblr commentary to DText. * Strip extraneous whitespace in links and blockquotes. * Add newlines after block elements to ensure they're separated from subsequent blocks.
This commit is contained in:
@@ -377,13 +377,13 @@ class DText
|
|||||||
|
|
||||||
case element.name
|
case element.name
|
||||||
when "text"
|
when "text"
|
||||||
element.content
|
element.content.gsub(/(?:\r|\n)+$/, "")
|
||||||
when "br"
|
when "br"
|
||||||
"\n"
|
"\n"
|
||||||
when "p"
|
when "p", "ul", "ol"
|
||||||
from_html(element.inner_html, &block) + "\n\n"
|
from_html(element.inner_html, &block).strip + "\n\n"
|
||||||
when "blockquote"
|
when "blockquote"
|
||||||
"[quote]#{from_html(element.inner_html, &block)}[/quote]" if element.inner_html.present?
|
"[quote]#{from_html(element.inner_html, &block).strip}[/quote]\n\n" if element.inner_html.present?
|
||||||
when "small", "sub"
|
when "small", "sub"
|
||||||
"[tn]#{from_html(element.inner_html, &block)}[/tn]" if element.inner_html.present?
|
"[tn]#{from_html(element.inner_html, &block)}[/tn]" if element.inner_html.present?
|
||||||
when "b", "strong"
|
when "b", "strong"
|
||||||
@@ -395,13 +395,13 @@ class DText
|
|||||||
when "s", "strike"
|
when "s", "strike"
|
||||||
"[s]#{from_html(element.inner_html, &block)}[/s]" if element.inner_html.present?
|
"[s]#{from_html(element.inner_html, &block)}[/s]" if element.inner_html.present?
|
||||||
when "li"
|
when "li"
|
||||||
"* #{from_html(element.inner_html, &block)}" if element.inner_html.present?
|
"* #{from_html(element.inner_html, &block)}\n" if element.inner_html.present?
|
||||||
when "h1", "h2", "h3", "h4", "h5", "h6"
|
when "h1", "h2", "h3", "h4", "h5", "h6"
|
||||||
hN = element.name
|
hN = element.name
|
||||||
title = from_html(element.inner_html, &block)
|
title = from_html(element.inner_html, &block)
|
||||||
"#{hN}. #{title}\n"
|
"#{hN}. #{title}\n\n"
|
||||||
when "a"
|
when "a"
|
||||||
title = from_html(element.inner_html, &block)
|
title = from_html(element.inner_html, &block).strip
|
||||||
url = element["href"]
|
url = element["href"]
|
||||||
%("#{title}":[#{url}]) if title.present? && url.present?
|
%("#{title}":[#{url}]) if title.present? && url.present?
|
||||||
when "img"
|
when "img"
|
||||||
|
|||||||
@@ -53,6 +53,10 @@ module Sources::Strategies
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def dtext_artist_commentary_desc
|
||||||
|
DText.from_html(artist_commentary_desc).strip
|
||||||
|
end
|
||||||
|
|
||||||
def image_url
|
def image_url
|
||||||
image_urls.first
|
image_urls.first
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -35,11 +35,8 @@ module Sources
|
|||||||
should "get the dtext-ified commentary" do
|
should "get the dtext-ified commentary" do
|
||||||
desc = <<-EOS.strip_heredoc.chomp
|
desc = <<-EOS.strip_heredoc.chomp
|
||||||
blah blah
|
blah blah
|
||||||
|
|
||||||
"test link":[http://www.google.com]
|
"test link":[http://www.google.com]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
h1. lol
|
h1. lol
|
||||||
|
|
||||||
|
|
||||||
@@ -53,7 +50,6 @@ module Sources
|
|||||||
* two
|
* two
|
||||||
* three
|
* three
|
||||||
|
|
||||||
|
|
||||||
* one
|
* one
|
||||||
* two
|
* two
|
||||||
* three
|
* three
|
||||||
|
|||||||
@@ -42,6 +42,26 @@ module Sources
|
|||||||
assert_equal(desc, @site.artist_commentary_desc)
|
assert_equal(desc, @site.artist_commentary_desc)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "get the dtext-ified commentary" do
|
||||||
|
desc = <<-EOS.strip_heredoc.chomp
|
||||||
|
h2. header
|
||||||
|
|
||||||
|
plain [b]bold[/b] [i]italics[/i] [s]strike[/s]
|
||||||
|
|
||||||
|
* one
|
||||||
|
* two
|
||||||
|
|
||||||
|
* one
|
||||||
|
* two
|
||||||
|
|
||||||
|
[quote]quote[/quote]
|
||||||
|
|
||||||
|
"link":[http://www.google.com]
|
||||||
|
EOS
|
||||||
|
|
||||||
|
assert_equal(desc, @site.dtext_artist_commentary_desc)
|
||||||
|
end
|
||||||
|
|
||||||
should "get the image url" do
|
should "get the image url" do
|
||||||
assert_equal("http://data.tumblr.com/3bbfcbf075ddf969c996641b264086fd/tumblr_os2buiIOt51wsfqepo1_raw.png", @site.image_url)
|
assert_equal("http://data.tumblr.com/3bbfcbf075ddf969c996641b264086fd/tumblr_os2buiIOt51wsfqepo1_raw.png", @site.image_url)
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user