diff options
Diffstat (limited to 'app/lib/formatter.rb')
-rw-r--r-- | app/lib/formatter.rb | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb index 5b008278c..5a1b63c0a 100644 --- a/app/lib/formatter.rb +++ b/app/lib/formatter.rb @@ -9,13 +9,15 @@ class Formatter include ActionView::Helpers::TextHelper - def format(status) - return reformat(status.content) unless status.local? + def format(status, attribute = :text, paragraphize = true) + raw_content = status.public_send(attribute) - html = status.text - html = encode_and_link_urls(html, status.mentions) + return '' if raw_content.blank? + return reformat(raw_content) unless status.local? - html = simple_format(html, {}, sanitize: false) + html = raw_content + html = encode_and_link_urls(html, status.mentions) + html = simple_format(html, {}, sanitize: false) if paragraphize html = html.delete("\n") html.html_safe # rubocop:disable Rails/OutputSafety @@ -25,18 +27,6 @@ class Formatter sanitize(html, Sanitize::Config::MASTODON_STRICT).html_safe # rubocop:disable Rails/OutputSafety end - def format_spoiler(status) - return reformat(status.spoiler_text) unless status.local? - - html = status.spoiler_text - html = encode_and_link_urls(html) - - html = simple_format(html, {}, sanitize: false) - html = html.delete("\n") - - html.html_safe # rubocop:disable Rails/OutputSafety - end - def plaintext(status) return status.text if status.local? strip_tags(status.text) |