Module | RedCloth::Formatters::HTML |
In: |
lib/redcloth/formatters/html.rb
|
BASIC_TAGS | = | { 'a' => ['href', 'title'], 'img' => ['src', 'alt', 'title'], 'br' => [], 'i' => nil, 'u' => nil, 'b' => nil, 'pre' => nil, 'kbd' => nil, 'code' => ['lang'], 'cite' => nil, 'strong' => nil, 'em' => nil, 'ins' => nil, 'sup' => nil, 'sub' => nil, 'del' => nil, 'table' => nil, 'tr' => nil, 'td' => ['colspan', 'rowspan'], 'th' => nil, 'ol' => ['start'], 'ul' => nil, 'li' => nil, 'p' => nil, 'h1' => nil, 'h2' => nil, 'h3' => nil, 'h4' => nil, 'h5' => nil, 'h6' => nil, 'blockquote' => ['cite'], 'notextile' => nil | HTML cleansing stuff |
# File lib/redcloth/formatters/html.rb, line 21 21: def acronym(opts) 22: opts[:block] = true 23: "<acronym#{pba(opts)}>#{caps(:text => opts[:text])}</acronym>" 24: end
# File lib/redcloth/formatters/html.rb, line 94 94: def bc_open(opts) 95: opts[:block] = true 96: "<pre#{pba(opts)}>" 97: end
# File lib/redcloth/formatters/html.rb, line 109 109: def bq_close(opts) 110: "</blockquote>\n" 111: end
# File lib/redcloth/formatters/html.rb, line 103 103: def bq_open(opts) 104: opts[:block] = true 105: cite = opts[:cite] ? " cite=\"#{ escape_attribute opts[:cite] }\"" : '' 106: "<blockquote#{cite}#{pba(opts)}>\n" 107: end
# File lib/redcloth/formatters/html.rb, line 208 208: def br(opts) 209: if hard_breaks == false 210: "\n" 211: else 212: "<br />\n" 213: end 214: end
# File lib/redcloth/formatters/html.rb, line 26 26: def caps(opts) 27: if no_span_caps 28: opts[:text] 29: else 30: opts[:class] = 'caps' 31: span(opts) 32: end 33: end
# File lib/redcloth/formatters/html.rb, line 35 35: def del(opts) 36: opts[:block] = true 37: "<del#{pba(opts)}>#{opts[:text]}</del>" 38: end
# File lib/redcloth/formatters/html.rb, line 173 173: def dim(opts) 174: opts[:text].gsub!('x', '×') 175: opts[:text].gsub!("'", '′') 176: opts[:text].gsub!('"', '″') 177: opts[:text] 178: end
# File lib/redcloth/formatters/html.rb, line 58 58: def dl_open(opts) 59: opts[:block] = true 60: "<dl#{pba(opts)}>\n" 61: end
# File lib/redcloth/formatters/html.rb, line 157 157: def ellipsis(opts) 158: "#{opts[:text]}…" 159: end
# File lib/redcloth/formatters/html.rb, line 192 192: def entity(opts) 193: "&#{opts[:text]};" 194: end
# File lib/redcloth/formatters/html.rb, line 134 134: def fn(opts) 135: no = opts[:id] 136: opts[:id] = "fn#{no}" 137: opts[:class] = ["footnote", opts[:class]].compact.join(" ") 138: "<p#{pba(opts)}><sup>#{no}</sup> #{opts[:text]}</p>\n" 139: end
# File lib/redcloth/formatters/html.rb, line 129 129: def footno(opts) 130: opts[:id] ||= opts[:text] 131: %Q{<sup class="footnote"><a href=\"#fn#{opts[:id]}\">#{opts[:text]}</a></sup>} 132: end
# File lib/redcloth/formatters/html.rb, line 228 228: def html(opts) 229: "#{opts[:text]}\n" 230: end
# File lib/redcloth/formatters/html.rb, line 232 232: def html_block(opts) 233: inline_html(:text => "#{opts[:indent_before_start]}#{opts[:start_tag]}#{opts[:indent_after_start]}") + 234: "#{opts[:text]}" + 235: inline_html(:text => "#{opts[:indent_before_end]}#{opts[:end_tag]}#{opts[:indent_after_end]}") 236: end
# File lib/redcloth/formatters/html.rb, line 254 254: def ignored_line(opts) 255: opts[:text] + "\n" 256: end
# File lib/redcloth/formatters/html.rb, line 121 121: def image(opts) 122: opts.delete(:align) 123: opts[:alt] = opts[:title] 124: img = "<img src=\"#{escape_attribute opts[:src]}\"#{pba(opts)} alt=\"#{escape_attribute opts[:alt].to_s}\" />" 125: img = "<a href=\"#{escape_attribute opts[:href]}\">#{img}</a>" if opts[:href] 126: img 127: end
# File lib/redcloth/formatters/html.rb, line 246 246: def inline_html(opts) 247: if filter_html 248: html_esc(opts[:text], :html_escape_preformatted) 249: else 250: "#{opts[:text]}" # nil-safe 251: end 252: end
# File lib/redcloth/formatters/html.rb, line 50 50: def li_open(opts) 51: "#{"\t" * opts[:nest]}<li#{pba(opts)}>#{opts[:text]}" 52: end
# File lib/redcloth/formatters/html.rb, line 113 113: def link(opts) 114: if (filter_html || sanitize_html) && opts[:href] =~ /^\s*javascript:/ 115: opts[:name] 116: else 117: "<a href=\"#{escape_attribute opts[:href]}\"#{pba(opts)}>#{opts[:name]}</a>" 118: end 119: end
# File lib/redcloth/formatters/html.rb, line 153 153: def multi_paragraph_quote(opts) 154: "“#{opts[:text]}" 155: end
# File lib/redcloth/formatters/html.rb, line 238 238: def notextile(opts) 239: if filter_html 240: html_esc(opts[:text], :html_escape_preformatted) 241: else 242: opts[:text] 243: end 244: end
# File lib/redcloth/formatters/html.rb, line 145 145: def quote1(opts) 146: "‘#{opts[:text]}’" 147: end
# File lib/redcloth/formatters/html.rb, line 149 149: def quote2(opts) 150: "“#{opts[:text]}”" 151: end
# File lib/redcloth/formatters/html.rb, line 141 141: def snip(opts) 142: "<pre#{pba(opts)}><code>#{opts[:text]}</code></pre>\n" 143: end
# File lib/redcloth/formatters/html.rb, line 86 86: def table_open(opts) 87: "<table#{pba(opts)}>\n" 88: end
# File lib/redcloth/formatters/html.rb, line 73 73: def td(opts) 74: tdtype = opts[:th] ? 'th' : 'td' 75: "\t\t<#{tdtype}#{pba(opts)}>#{opts[:text]}</#{tdtype}>\n" 76: end
# File lib/redcloth/formatters/html.rb, line 78 78: def tr_open(opts) 79: "\t<tr#{pba(opts)}>\n" 80: end