mirror of
https://github.com/discourse/discourse.git
synced 2025-01-19 03:32:45 +08:00
FIX: Do not strip email lines having lists.
This commit is contained in:
parent
0c35b8b420
commit
35a866fe22
|
@ -364,6 +364,10 @@ module Email
|
|||
text = text.lines.map! do |line|
|
||||
stripped = line.strip << "\n"
|
||||
|
||||
# Do not strip list items.
|
||||
next line if (stripped[0] == '*' || stripped[0] == '-' || stripped[0] == '+') && stripped[1] == ' '
|
||||
|
||||
# Match beginning and ending of code blocks.
|
||||
if !in_code && stripped[0..2] == '```'
|
||||
in_code = '```'
|
||||
elsif in_code == '```' && stripped[0..2] == '```'
|
||||
|
@ -374,6 +378,7 @@ module Email
|
|||
in_code = nil
|
||||
end
|
||||
|
||||
# Strip only lines outside code blocks.
|
||||
in_code ? line : stripped
|
||||
end.join
|
||||
end
|
||||
|
|
|
@ -1274,6 +1274,18 @@ describe Email::Receiver do
|
|||
This is a line that will not be touched.
|
||||
This is another line that will not be touched.
|
||||
|
||||
* list
|
||||
|
||||
* sub-list
|
||||
|
||||
- list
|
||||
|
||||
- sub-list
|
||||
|
||||
+ list
|
||||
|
||||
+ sub-list
|
||||
|
||||
[code]
|
||||
1.upto(10).each do |i|
|
||||
puts i
|
||||
|
@ -1308,6 +1320,18 @@ describe Email::Receiver do
|
|||
This is a line that will not be touched.
|
||||
This is another line that will not be touched.
|
||||
|
||||
* list
|
||||
|
||||
* sub-list
|
||||
|
||||
- list
|
||||
|
||||
- sub-list
|
||||
|
||||
+ list
|
||||
|
||||
+ sub-list
|
||||
|
||||
[code]
|
||||
1.upto(10).each do |i|
|
||||
puts i
|
||||
|
|
Loading…
Reference in New Issue
Block a user