Merge pull request #2745 from basecamp/excert-truncation

Pre-truncate excerpt before running replacement regexes
This commit is contained in:
Zacharias Knudsen
2026-03-23 10:24:58 +01:00
committed by GitHub
2 changed files with 4 additions and 2 deletions
+2 -1
View File
@@ -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
+1
View File
@@ -12,6 +12,7 @@ class ExcerptHelperTest < ActionView::TestCase
test "ol" do
assert_excerpt("99. Hello world", "99. Hello world")
assert_excerpt("99. Hello world", " 99. Hello world")
end
test "large spaces" do