X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/bb2afc3e8b4e4a7faeb44344ebaead2617b727f1..e774e1619c238e87942851b59461ae91f9256102:/config/initializers/sanitize.rb diff --git a/config/initializers/sanitize.rb b/config/initializers/sanitize.rb index d6bd6c3ee..a6cce19a9 100644 --- a/config/initializers/sanitize.rb +++ b/config/initializers/sanitize.rb @@ -1,11 +1,16 @@ Sanitize::Config::OSM = Sanitize::Config.merge( Sanitize::Config::RELAXED, :elements => Sanitize::Config::RELAXED[:elements] - %w[div style], - :add_attributes => { "a" => { "rel" => "nofollow noopener noreferrer" } }, :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" + + 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 )