diff options
author | Darius Kazemi <darius.kazemi@gmail.com> | 2019-04-30 15:29:28 -0700 |
---|---|---|
committer | Fire Demon <firedemon@creature.cafe> | 2020-08-30 05:45:15 -0500 |
commit | 6378feffa8935238bdb5f1f1c01fcb102440fe30 (patch) | |
tree | b1eea210ace7eb72a00ab4604c3ec10c5ae4db4b /app/lib/sanitize_config.rb | |
parent | 4eb49257fc618219709b357fb68f4d6156cab249 (diff) |
[Feature, Federation, Port: hometown@b3e6597] Support locally cached inline images [+ Monsterfork additions]
Changes added by Monsterfork: - Do not limit to only Articles - Reuse existing media; retroactively using more-detailed descriptions - Also scrub carrige returns between tags - Handle download failures - Attach to statuses and keep track of inlined media - Handle local edits Co-authored-by: Fire Demon <firedemon@creature.cafe>
Diffstat (limited to 'app/lib/sanitize_config.rb')
-rw-r--r-- | app/lib/sanitize_config.rb | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/app/lib/sanitize_config.rb b/app/lib/sanitize_config.rb index ccc3f4642..05131b674 100644 --- a/app/lib/sanitize_config.rb +++ b/app/lib/sanitize_config.rb @@ -35,25 +35,6 @@ class Sanitize node['class'] = class_list.join(' ') end - IMG_TAG_TRANSFORMER = lambda do |env| - node = env[:node] - - return unless env[:node_name] == 'img' - - node.name = 'a' - - node['href'] = node['src'] - if node['alt'].present? - node.content = "[🖼 #{node['alt']}]" - else - url = node['href'] - prefix = url.match(/\Ahttps?:\/\/(www\.)?/).to_s - text = url[prefix.length, 30] - text = text + "…" if url[prefix.length..-1].length > 30 - node.content = "[🖼 #{text}]" - end - end - LINK_REL_TRANSFORMER = lambda do |env| return unless env[:node_name] == 'a' and env[:node]['href'] @@ -83,7 +64,7 @@ class Sanitize end MASTODON_STRICT ||= freeze_config( - elements: %w(p br span a abbr del pre blockquote code b strong u sub sup i em h1 h2 h3 h4 h5 ul ol li), + elements: %w(p br span a abbr del pre blockquote code b strong u sub sup i em h1 h2 h3 h4 h5 ul ol li img), attributes: { 'a' => %w(href rel class title), @@ -92,6 +73,7 @@ class Sanitize 'blockquote' => %w(cite), 'ol' => %w(start reversed), 'li' => %w(value), + 'img' => %w(src alt title), }, add_attributes: { @@ -107,7 +89,6 @@ class Sanitize transformers: [ CLASS_WHITELIST_TRANSFORMER, - IMG_TAG_TRANSFORMER, UNSUPPORTED_HREF_TRANSFORMER, LINK_REL_TRANSFORMER, ] |