class Sanitize::Transformers::CSS::CleanElement
Enforces a CSS allowlist on the contents of ‘<style>` elements.
def call(env)
def call(env) node = env[:node] return unless node.type == Nokogiri::XML::Node::ELEMENT_NODE && env[:node_name] == "style" css = @scss.stylesheet(node.content) if css.strip.empty? node.unlink else css.gsub!("</", '<\/') node.children.unlink node << Nokogiri::XML::Text.new(css, node.document) end end
def initialize(sanitizer_or_config)
def initialize(sanitizer_or_config) @scss = if Sanitize::CSS === sanitizer_or_config sanitizer_or_config else Sanitize::CSS.new(sanitizer_or_config) end end