class Qiita::Markdown::Filters::FinalSanitizer

Sanitizes undesirable elements by whitelist-based rule. You can pass optional :rule and :script context.

Since this filter is applied at the end of html-pipeline, it’s rules are intentionally weakened to allow elements and attributes which are generated by other filters.

@see Qiita::Markdown::Filters::UserInputSanitizerr

Constants

RULE
SCRIPTABLE_RULE

Public Instance Methods

call() click to toggle source
# File lib/qiita/markdown/filters/final_sanitizer.rb, line 214
def call
  ::Sanitize.clean_node!(doc, rule)
  doc
end

Private Instance Methods

has_script_context?() click to toggle source
# File lib/qiita/markdown/filters/final_sanitizer.rb, line 221
def has_script_context?
  context[:script] == true
end
rule() click to toggle source
# File lib/qiita/markdown/filters/final_sanitizer.rb, line 225
def rule
  case
  when context[:rule]
    context[:rule]
  when has_script_context?
    SCRIPTABLE_RULE
  else
    RULE
  end
end