From a69dbdafe155539a3235a8836650694d0feb2cc2 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Wed, 28 May 2025 17:18:20 -0500 Subject: [PATCH] Simple format excerpts in activity --- app/helpers/excerpt_helper.rb | 12 ++++++++++++ app/views/events/event/_comment.html.erb | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 app/helpers/excerpt_helper.rb diff --git a/app/helpers/excerpt_helper.rb b/app/helpers/excerpt_helper.rb new file mode 100644 index 000000000..9ae0d3274 --- /dev/null +++ b/app/helpers/excerpt_helper.rb @@ -0,0 +1,12 @@ +module ExcerptHelper + def format_excerpt(content, length: 200) + return "" if content.blank? + + text = content.to_plain_text + text = text.gsub(/^>\s*(.*)$/m, '> \1') + text = text.gsub(/^[-*]\s*(.*)$/m, '• \1') + text = text.gsub(/^\d+\.\s*(.*)$/m) { |m| m } + text = text.gsub(/\s+/, " ").strip + text.truncate(length) + end +end diff --git a/app/views/events/event/_comment.html.erb b/app/views/events/event/_comment.html.erb index b437349bb..ed0cbb79c 100644 --- a/app/views/events/event/_comment.html.erb +++ b/app/views/events/event/_comment.html.erb @@ -1,5 +1,5 @@ <%= render "events/event/layout", card: event.eventable.card, event: event do %> - <%= strip_tags(event&.eventable.body.to_s).truncate(200) -%> + <%= format_excerpt(event&.eventable.body, length: 200) -%> <% end %>