]> git.openstreetmap.org Git - rails.git/blobdiff - config/initializers/sanitize.rb
Prevent addition of style attributes to all elements
[rails.git] / config / initializers / sanitize.rb
index eb3039a132f70db038e6bb7b08bd6e4fb8e7af56..d6bd6c3ee780c517ab0325f19279f8a2b82b1b4c 100644 (file)
@@ -1,5 +1,11 @@
-Sanitize::Config::OSM = Sanitize::Config::RELAXED.dup
-
-Sanitize::Config::OSM[:elements] -= [ 'div', 'style' ]
-Sanitize::Config::OSM[:add_attributes] = { 'a' => { 'rel' => 'nofollow' } }
-Sanitize::Config::OSM[:remove_contents] = [ 'script', 'style' ]
+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"
+  end
+)