mirror of
https://github.com/discourse/discourse.git
synced 2025-06-05 14:07:30 +08:00
FIX: Weird mixture of line breaks resulted in wrong email trimming
This commit is contained in:
@ -32,6 +32,7 @@ class HtmlToMarkdown
|
|||||||
node.content = node.content.gsub(/\A[[:space:]]+/, "") if node.previous_element.nil? && node.parent.description&.block?
|
node.content = node.content.gsub(/\A[[:space:]]+/, "") if node.previous_element.nil? && node.parent.description&.block?
|
||||||
node.content = node.content.gsub(/[[:space:]]+\z/, "") if node.next_element&.description&.block?
|
node.content = node.content.gsub(/[[:space:]]+\z/, "") if node.next_element&.description&.block?
|
||||||
node.content = node.content.gsub(/[[:space:]]+\z/, "") if node.next_element.nil? && node.parent.description&.block?
|
node.content = node.content.gsub(/[[:space:]]+\z/, "") if node.next_element.nil? && node.parent.description&.block?
|
||||||
|
node.content = node.content.gsub(/\r\n?/, "\n")
|
||||||
node.remove if node.content.empty?
|
node.remove if node.content.empty?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -200,7 +201,7 @@ class HtmlToMarkdown
|
|||||||
@stack[-1].markdown << " " if node.text[0] == " "
|
@stack[-1].markdown << " " if node.text[0] == " "
|
||||||
@stack[-1].markdown << delimiter
|
@stack[-1].markdown << delimiter
|
||||||
traverse(node)
|
traverse(node)
|
||||||
@stack[-1].markdown.chomp!
|
@stack[-1].markdown.gsub!(/\n+$/, "")
|
||||||
if @stack[-1].markdown[-1] == " "
|
if @stack[-1].markdown[-1] == " "
|
||||||
@stack[-1].markdown.chomp!(" ")
|
@stack[-1].markdown.chomp!(" ")
|
||||||
append_space = true
|
append_space = true
|
||||||
|
@ -33,6 +33,15 @@ describe HtmlToMarkdown do
|
|||||||
it "converts <b>" do
|
it "converts <b>" do
|
||||||
expect(html_to_markdown("<b>Bold</b>")).to eq("**Bold**")
|
expect(html_to_markdown("<b>Bold</b>")).to eq("**Bold**")
|
||||||
expect(html_to_markdown("<b>B*ld</b>")).to eq("__B*ld__")
|
expect(html_to_markdown("<b>B*ld</b>")).to eq("__B*ld__")
|
||||||
|
|
||||||
|
html = <<~HTML
|
||||||
|
<p><b>Bold
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
</b>
|
||||||
|
</p>
|
||||||
|
HTML
|
||||||
|
expect(html_to_markdown(html)).to eq("**Bold**")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "converts <em>" do
|
it "converts <em>" do
|
||||||
|
Reference in New Issue
Block a user