mirror of
https://github.com/discourse/discourse.git
synced 2025-02-20 22:26:10 +08:00
FIX: Font tag resulted in wrong email trimming
This commit is contained in:
parent
37461a6398
commit
577af81e76
@ -16,8 +16,10 @@ class HtmlToMarkdown
|
||||
end
|
||||
|
||||
# If a `<div>` is within a `<span>` that's invalid, so let's hoist the `<div>` up
|
||||
INLINE_ELEMENTS ||= %w{span font}
|
||||
BLOCK_ELEMENTS ||= %w{div p}
|
||||
def fix_span_elements(node)
|
||||
if node.name == 'span' && node.at('div')
|
||||
if (INLINE_ELEMENTS.include?(node.name) && BLOCK_ELEMENTS.any? { |e| node.at(e) })
|
||||
node.swap(node.children)
|
||||
end
|
||||
|
||||
|
@ -236,9 +236,14 @@ describe HtmlToMarkdown do
|
||||
expect(html_to_markdown("<style>* { margin: 0 }</style>")).to eq("")
|
||||
end
|
||||
|
||||
it "handles divs within spans" do
|
||||
html = "<div>1st paragraph<span><div>2nd paragraph</div></span></div>"
|
||||
expect(html_to_markdown(html)).to eq("1st paragraph\n2nd paragraph")
|
||||
it "handles <p> and <div> within <span>" do
|
||||
html = "<div>1st paragraph<span><div>2nd paragraph</div><p>3rd paragraph</p></span></div>"
|
||||
expect(html_to_markdown(html)).to eq("1st paragraph\n2nd paragraph\n\n3rd paragraph")
|
||||
end
|
||||
|
||||
it "handles <p> and <div> within <font>" do
|
||||
html = "<font>1st paragraph<br><span>2nd paragraph</span><div>3rd paragraph</div><p>4th paragraph</p></font>"
|
||||
expect(html_to_markdown(html)).to eq("1st paragraph\n2nd paragraph\n3rd paragraph\n\n4th paragraph")
|
||||
end
|
||||
|
||||
context "with an oddly placed <br>" do
|
||||
|
Loading…
x
Reference in New Issue
Block a user