# module RedCloth::Formatters::HTML

### Constants

BASIC_TAGS

  HTML cleansing stuff

### Public Instance Methods

acronym(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 21
    def acronym(opts)
      opts[:block] = true
      "<acronym#{pba(opts)}>#{caps(:text => opts[:text])}</acronym>"
    end

amp(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 196
    def amp(opts)
      "&amp;"
    end

apos(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 224
    def apos(opts)
      "&#39;"
    end

arrow(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 169
    def arrow(opts)
      "&#8594;"
    end

bc_close(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 99
    def bc_close(opts)
      "</pre>\n"
    end

bc_open(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 94
    def bc_open(opts)
      opts[:block] = true
      "<pre#{pba(opts)}>"
    end

bq_close(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 109
    def bq_close(opts)
      "</blockquote>\n"
    end

bq_open(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 103
    def bq_open(opts)
      opts[:block] = true
      cite = opts[:cite] ? " cite=\"#{ escape_attribute opts[:cite] }\"" : ''
      "<blockquote#{cite}#{pba(opts)}>\n"
    end

br(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 208
    def br(opts)
      if hard_breaks == false
        "\n"
      else
        "<br#{pba(opts)} />\n"
      end
    end

caps(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 26
    def caps(opts)
      if no_span_caps
        opts[:text]
      else
        opts[:class] = 'caps'
        span(opts)
      end
    end

copyright(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 188
    def copyright(opts)
      "&#169;"
    end

del(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 35
    def del(opts)
      opts[:block] = true
      "<del#{pba(opts)}>#{opts[:text]}</del>"
    end

dim(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 173
    def dim(opts)
      opts[:text].gsub!('x', '&#215;')
      opts[:text].gsub!("'", '&#8242;')
      opts[:text].gsub!('"', '&#8243;')
      opts[:text]
    end

dl_close(opts=nil) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 63
    def dl_close(opts=nil)
      "</dl>\n"
    end

dl_open(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 58
    def dl_open(opts)
      opts[:block] = true
      "<dl#{pba(opts)}>\n"
    end

ellipsis(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 157
    def ellipsis(opts)
      "#{opts[:text]}&#8230;"
    end

emdash(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 161
    def emdash(opts)
      "&#8212;"
    end

endash(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 165
    def endash(opts)
      " &#8211; "
    end

entity(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 192
    def entity(opts)
      "&#{opts[:text]};"
    end

fn(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 134
    def fn(opts)
      no = opts[:id]
      opts[:id] = "fn#{no}"
      opts[:class] = ["footnote", opts[:class]].compact.join(" ")
      "<p#{pba(opts)}><a href=\"#fnr#{no}\"><sup>#{no}</sup></a> #{opts[:text]}</p>\n"
    end

footno(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 129
    def footno(opts)
      opts[:id] ||= opts[:text]
      %Q{<sup class="footnote" id=\"fnr#{opts[:id]}\"><a href=\"#fn#{opts[:id]}\">#{opts[:text]}</a></sup>}
    end

gt(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 200
    def gt(opts)
      "&gt;"
    end

hr(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 17
    def hr(opts)
      "<hr#{pba(opts)} />\n"
    end

html(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 228
    def html(opts)
      "#{opts[:text]}\n"
    end

html_block(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 232
    def html_block(opts)
      inline_html(:text => "#{opts[:indent_before_start]}#{opts[:start_tag]}#{opts[:indent_after_start]}") +
      "#{opts[:text]}" +
      inline_html(:text => "#{opts[:indent_before_end]}#{opts[:end_tag]}#{opts[:indent_after_end]}")
    end

ignored_line(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 254
    def ignored_line(opts)
      opts[:text] + "\n"
    end

image(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 121
    def image(opts)
      opts.delete(:align)
      opts[:alt] = opts[:title]
      img = "<img src=\"#{escape_attribute opts[:src]}\"#{pba(opts)} alt=\"#{escape_attribute opts[:alt].to_s}\" />"
      img = "<a href=\"#{escape_attribute opts[:href]}\">#{img}</a>" if opts[:href]
      img
    end

inline_html(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 246
    def inline_html(opts)
      if filter_html
        html_esc(opts[:text], :html_escape_preformatted)
      else
        "#{opts[:text]}" # nil-safe
      end
    end

li_close(opts=nil) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 54
    def li_close(opts=nil)
      "</li>\n"
    end

li_open(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 50
    def li_open(opts)
      "#{"\t" * opts[:nest]}<li#{pba(opts)}>#{opts[:text]}"
    end

link(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 113
    def link(opts)
      if (filter_html || sanitize_html) && opts[:href] =~ /^\s*javascript:/
        opts[:name]
      else
        "<a href=\"#{escape_attribute opts[:href]}\"#{pba(opts)}>#{opts[:name]}</a>"
      end
    end

lt(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 204
    def lt(opts)
      "&lt;"
    end

multi_paragraph_quote(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 153
    def multi_paragraph_quote(opts)
      "&#8220;#{opts[:text]}"
    end

notextile(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 238
    def notextile(opts)
      if filter_html
        html_esc(opts[:text], :html_escape_preformatted)
      else
        opts[:text]
      end
    end

quot(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 216
    def quot(opts)
      "&quot;"
    end

quote1(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 145
    def quote1(opts)
      "&#8216;#{opts[:text]}&#8217;"
    end

quote2(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 149
    def quote2(opts)
      "&#8220;#{opts[:text]}&#8221;"
    end

registered(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 184
    def registered(opts)
      "&#174;"
    end

snip(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 141
    def snip(opts)
      "<pre#{pba(opts)}><code>#{opts[:text]}</code></pre>\n"
    end

squot(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 220
    def squot(opts)
      "&#8217;"
    end

table_close(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 90
    def table_close(opts)
      "</table>\n"
    end

table_open(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 86
    def table_open(opts)
      "<table#{pba(opts)}>\n"
    end

td(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 73
    def td(opts)
      tdtype = opts[:th] ? 'th' : 'td'
      "\t\t<#{tdtype}#{pba(opts)}>#{opts[:text]}</#{tdtype}>\n"
    end

tr_close(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 82
    def tr_close(opts)
      "\t</tr>\n"
    end

tr_open(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 78
    def tr_open(opts)
      "\t<tr#{pba(opts)}>\n"
    end

trademark(opts) click to toggle source

    # File lib/redcloth/formatters/html.rb, line 180
    def trademark(opts)
      "&#8482;"
    end