-Sanitize::Config::OSM = Sanitize::Config::RELAXED.dup
-
-Sanitize::Config::OSM[:elements] -= %w(div style)
-Sanitize::Config::OSM[:add_attributes] = { "a" => { "rel" => "nofollow" } }
-Sanitize::Config::OSM[:remove_contents] = %w(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
+)