Module: Zumobi::RemovingSanitize::Config

Defined in:
lib/zumobi/removing_sanitize.rb

Constant Summary collapse

PLAINTEXT =
{}
SPORTS =
{
    # Leave script in, as well delete it and all its contents specifically.
    :elements => ['img', 'a', 'p', 'b', 'i', 'strong', 'em', 'cite', 'dl', 'dt', 'dd', 'ul', 'ol', 'li', 'small',
        'big', 'strike', 's', 'u', 'br', 'table', 'tr', 'td', 'th'],
    :attributes => {
        'a' => ['href'],
        'img' => ['src', 'width', 'height']
    },
    :protocols => { 'a' => {'href' => ['http']} },
    :removals => ['script']
}
RESTRICTED =
{
    :elements => ['b','em','i','strong','u']
}
ZUMOBI =
{
    :elements => [
        'a', 'b', 'blockquote', 'br', 'caption', 'cite', 'code', 'col',
        'colgroup', 'dd', 'dl', 'dt', 'em', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
        'i', 'img', 'li', 'ol', 'p', 'pre', 'q', 'small', 'strike', 'strong',
        'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr', 'u',
        'ul'],
    :attributes => {
        'a' => ['href'],
        'blockquote' => ['cite'],
        'col' => ['span', 'width'],
        'colgroup' => ['span', 'width'],
        'img' => ['src', 'width'],
        'ol' => ['start', 'type'],
        'q' => ['cite'],
        'table' => ['summary', 'width'],
        'td' => ['abbr', 'axis', 'colspan', 'rowspan', 'width'],
        'th' => ['abbr', 'axis', 'colspan', 'rowspan', 'scope','width'],
        'table' => ['width'],
        'ul' => ['type']
    },
    :protocols => {
        'a' => {'href' => ['http', 'https', 'mailto', :relative]},
        'img' => {'src' => ['http', 'https', :relative]}
    },
    :removals => ['iframe', 'script', 'style']
}
PRESERVE_YOUTUBE =
{
    :elements => [
        'a', 'b', 'blockquote', 'br', 'caption', 'cite', 'code', 'col',
        'colgroup', 'dd', 'dl', 'dt', 'em', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
        'i', 'img', 'li', 'ol', 'p', 'pre', 'q', 'small', 'strike', 'strong',
        'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr', 'u',
        'ul', 'object', 'embed', 'param', 'iframe'],
    :attributes => {
        'a' => ['href'],
        'blockquote' => ['cite'],
        'col' => ['span', 'width'],
        'colgroup' => ['span', 'width'],
        'img' => ['src', 'width'],
        'ol' => ['start', 'type'],
        'q' => ['cite'],
        'td' => ['abbr', 'axis', 'colspan', 'rowspan', 'width'],
        'th' => ['abbr', 'axis', 'colspan', 'rowspan', 'scope','width'],
        'table' => ['width'],
        'ul' => ['type'],
        'obj' => ['width', 'height'],
        'embed' => ['src', 'type', 'allowscriptaccess', 'allowfullscreen', 'width', 'height'],
        'param' => ['name', 'value'],
        'iframe' => ['src']
    },
    :protocols => {
        'a' => {'href' => ['http', 'https', 'mailto', :relative]},
        'img' => {'src' => ['http', 'https', :relative]}
    },
    :removals => ['script', 'style']
}
REMOTE_HTML =
{
    :elements => %w[
      a abbr b bdo blockquote br caption cite code col colgroup dd del dfn div dl
      dt em figcaption figure h1 h2 h3 h4 h5 h6 hgroup i img ins kbd li mark
      ol p pre q rp rt ruby s samp small span strike strong sub sup table tbody td
      tfoot th thead time tr u ul var wbr
    ],
      
    :attributes => {
      :all         => ['dir', 'lang', 'title', 'class', 'id'],
      'a'          => ['href'],
      'blockquote' => ['cite'],
      'col'        => ['span', 'width'],
      'colgroup'   => ['span', 'width'],
      'del'        => ['cite', 'datetime'],
      'img'        => ['align', 'alt', 'height', 'src', 'width'],
      'ins'        => ['cite', 'datetime'],
      'ol'         => ['start', 'reversed', 'type'],
      'q'          => ['cite'],
      'table'      => ['summary', 'width'],
      'td'         => ['abbr', 'axis', 'colspan', 'rowspan', 'width'],
      'th'         => ['abbr', 'axis', 'colspan', 'rowspan', 'scope', 'width'],
      'time'       => ['datetime', 'pubdate'],
      'ul'         => ['type']
    },
      
    :protocols => {
      'a'          => {'href' => ['ftp', 'http', 'https', 'mailto', :relative]},
      'blockquote' => {'cite' => ['http', 'https', :relative]},
      'del'        => {'cite' => ['http', 'https', :relative]},
      'img'        => {'src'  => ['http', 'https', :relative]},
      'ins'        => {'cite' => ['http', 'https', :relative]},
      'q'          => {'cite' => ['http', 'https', :relative]}
    },
    :removals => ['script', 'iframe', 'style']
}