X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/497009ed2b98dfdeeb349e891c1fbd88d14ff087..6033359bd07e3da09efd2ffe7a2558dbcffbc1c2:/config/initializers/sanitize.rb diff --git a/config/initializers/sanitize.rb b/config/initializers/sanitize.rb index eb3039a13..a6cce19a9 100644 --- a/config/initializers/sanitize.rb +++ b/config/initializers/sanitize.rb @@ -1,5 +1,16 @@ -Sanitize::Config::OSM = Sanitize::Config::RELAXED.dup +Sanitize::Config::OSM = Sanitize::Config.merge( + Sanitize::Config::RELAXED, + :elements => Sanitize::Config::RELAXED[:elements] - %w[div style], + :remove_contents => %w[script style], + :transformers => lambda do |env| + env[:node].remove_class + env[:node].kwattr_remove("style", nil) + env[:node].add_class("table table-sm w-auto") if env[:node_name] == "table" -Sanitize::Config::OSM[:elements] -= [ 'div', 'style' ] -Sanitize::Config::OSM[:add_attributes] = { 'a' => { 'rel' => 'nofollow' } } -Sanitize::Config::OSM[:remove_contents] = [ 'script', 'style' ] + if env[:node_name] == "a" + rel = env[:node]["rel"] || "" + + env[:node]["rel"] = rel.split.select { |r| r == "me" }.append("nofollow", "noopener", "noreferrer").sort.join(" ") + end + end +)