From 7d838742665b14dcab9c441c6926403cfdfff0fe Mon Sep 17 00:00:00 2001 From: Jose Farias Date: Wed, 18 Dec 2024 16:39:56 -0600 Subject: [PATCH] Use Redcarpet for plain text rendering --- config/initializers/markdown.rb | 3 +++ lib/rails_ext/action_text_markdown.rb | 8 ++++---- test/models/bubble_test.rb | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/config/initializers/markdown.rb b/config/initializers/markdown.rb index b5b61401d..04d5c8e78 100644 --- a/config/initializers/markdown.rb +++ b/config/initializers/markdown.rb @@ -1,4 +1,7 @@ ActiveSupport.on_load :action_text_markdown do require "markdown_renderer" + require "redcarpet/render_strip" + ActionText::Markdown.html_renderer = ->(content) { MarkdownRenderer.build.render(content) } + ActionText::Markdown.plain_text_renderer = Redcarpet::Markdown.new(Redcarpet::Render::StripDown) end diff --git a/lib/rails_ext/action_text_markdown.rb b/lib/rails_ext/action_text_markdown.rb index 65b71fa7f..cd19fa001 100644 --- a/lib/rails_ext/action_text_markdown.rb +++ b/lib/rails_ext/action_text_markdown.rb @@ -1,7 +1,7 @@ module ActionText class Markdown < Record mattr_accessor :html_renderer - mattr_accessor :plain_renderer + mattr_accessor :plain_text_renderer belongs_to :record, polymorphic: true, touch: true @@ -18,10 +18,10 @@ module ActionText end def to_plain_text - if plain_renderer.respond_to? :call - plain_renderer.call content + if plain_text_renderer.respond_to? :call + plain_text_renderer.call content else - plain_renderer.render content + plain_text_renderer.render content end end end diff --git a/test/models/bubble_test.rb b/test/models/bubble_test.rb index d890ee19a..c8f4c3c16 100644 --- a/test/models/bubble_test.rb +++ b/test/models/bubble_test.rb @@ -10,7 +10,7 @@ class BubbleTest < ActiveSupport::TestCase bubbles(:logo).capture Comment.new(body: "Agreed.") end - assert_equal "Agreed.", bubbles(:logo).messages.last.messageable.body.to_plain_text + assert_equal "Agreed.", bubbles(:logo).messages.last.messageable.body.to_plain_text.chomp end test "boosting" do