]> cat aescling's git repositories - mastodon.git/commitdiff
Add support for HTML-formatted toots
authorThibaut Girka <thib@sitedethib.com>
Sun, 12 May 2019 19:33:37 +0000 (21:33 +0200)
committerThibG <thib@sitedethib.com>
Fri, 17 May 2019 21:51:14 +0000 (23:51 +0200)
app/lib/formatter.rb
app/models/status.rb

index fe5b5b7b7406893582db12df90d35301dd70c1cc..eaece87970930d4827df0c39bbbb339419a279b9 100644 (file)
@@ -37,9 +37,9 @@ class Formatter
     html = raw_content
     html = "RT @#{prepend_reblog} #{html}" if prepend_reblog
     html = format_markdown(html) if status.content_type == 'text/markdown'
-    html = encode_and_link_urls(html, linkable_accounts, keep_html: status.content_type == 'text/markdown')
+    html = encode_and_link_urls(html, linkable_accounts, keep_html: %w(text/markdown text/html).include?(status.content_type))
     html = encode_custom_emojis(html, status.emojis, options[:autoplay]) if options[:custom_emojify]
-    html = simple_format(html, {}, sanitize: false) unless status.content_type == 'text/markdown'
+    html = simple_format(html, {}, sanitize: false) unless %w(text/markdown text/html).include?(status.content_type)
     html = html.delete("\n")
 
     html.html_safe # rubocop:disable Rails/OutputSafety
index e0dc747908932e81c371cadd3d17ae2d855ca209..6f3ba4cc39e77bf9e812cf3be300ec58b7049bd0 100644 (file)
@@ -75,7 +75,7 @@ class Status < ApplicationRecord
   validates_with DisallowedHashtagsValidator
   validates :reblog, uniqueness: { scope: :account }, if: :reblog?
   validates :visibility, exclusion: { in: %w(direct limited) }, if: :reblog?
-  validates :content_type, inclusion: { in: %w(text/plain text/markdown) }, allow_nil: true
+  validates :content_type, inclusion: { in: %w(text/plain text/markdown text/html) }, allow_nil: true
 
   accepts_nested_attributes_for :poll