Merge pull request #2745 from basecamp/excert-truncation
Pre-truncate excerpt before running replacement regexes
This commit is contained in:
@@ -3,9 +3,10 @@ module ExcerptHelper
|
||||
return "" if content.blank?
|
||||
|
||||
text = content.respond_to?(:to_plain_text) ? content.to_plain_text : content.to_s
|
||||
text = text.first(length * 2)
|
||||
text = text.gsub(/^>\s*(.*)$/m, '> \1')
|
||||
text = text.gsub(/^\s*[-+]\s*(.*)$/m, '• \1')
|
||||
text = text.gsub(/^\d+\.\s*(.*)$/m) { |m| m }
|
||||
text = text.gsub(/^\s*(\d+\.)\s*(.*)$/m, '\1 \2')
|
||||
text = text.gsub(/\s+/, " ").strip
|
||||
text.truncate(length)
|
||||
end
|
||||
|
||||
@@ -11,7 +11,8 @@ class ExcerptHelperTest < ActionView::TestCase
|
||||
end
|
||||
|
||||
test "ol" do
|
||||
assert_excerpt("99. Hello world", "99. Hello world")
|
||||
assert_excerpt("99. Hello world", "99. Hello world")
|
||||
assert_excerpt("99. Hello world", " 99. Hello world")
|
||||
end
|
||||
|
||||
test "large spaces" do
|
||||
|
||||
Reference in New Issue
Block a user