Module: RedCloth::Formatters::HTML

Includes:
Base
Defined in:
lib/redcloth/formatters/html.rb

Instance Method Summary collapse

Methods included from Base

#ignore, #inline_redcloth_version, #redcloth_version

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class RedCloth::Formatters::Base

Instance Method Details

#acronym(opts) ⇒ Object



21
22
23
24
# 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) ⇒ Object



200
201
202
# File 'lib/redcloth/formatters/html.rb', line 200

def amp(opts)
  "&amp;"
end

#apos(opts) ⇒ Object



228
229
230
# File 'lib/redcloth/formatters/html.rb', line 228

def apos(opts)
  "&#39;"
end

#arrow(opts) ⇒ Object



173
174
175
# File 'lib/redcloth/formatters/html.rb', line 173

def arrow(opts)
  "&#8594;"
end

#bc_close(opts) ⇒ Object



99
100
101
# File 'lib/redcloth/formatters/html.rb', line 99

def bc_close(opts)
  "</pre>\n"
end

#bc_open(opts) ⇒ Object



94
95
96
97
# File 'lib/redcloth/formatters/html.rb', line 94

def bc_open(opts)
  opts[:block] = true
  "<pre#{pba(opts)}>"
end

#bq_close(opts) ⇒ Object



109
110
111
# File 'lib/redcloth/formatters/html.rb', line 109

def bq_close(opts)
  "</blockquote>\n"
end

#bq_open(opts) ⇒ Object



103
104
105
106
107
# 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) ⇒ Object



212
213
214
215
216
217
218
# File 'lib/redcloth/formatters/html.rb', line 212

def br(opts)
  if hard_breaks == false
    "\n"
  else
    "<br#{pba(opts)} />\n"
  end
end

#caps(opts) ⇒ Object



26
27
28
29
30
31
32
33
# 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


192
193
194
# File 'lib/redcloth/formatters/html.rb', line 192

def copyright(opts)
  "&#169;"
end

#del(opts) ⇒ Object



35
36
37
38
# File 'lib/redcloth/formatters/html.rb', line 35

def del(opts)
  opts[:block] = true
  "<del#{pba(opts)}>#{opts[:text]}</del>"
end

#dim(opts) ⇒ Object



177
178
179
180
181
182
# File 'lib/redcloth/formatters/html.rb', line 177

def dim(opts)
  opts[:text].gsub!('x', '&#215;')
  opts[:text].gsub!("'", '&#8242;')
  opts[:text].gsub!('"', '&#8243;')
  opts[:text]
end

#dl_close(opts = nil) ⇒ Object



63
64
65
# File 'lib/redcloth/formatters/html.rb', line 63

def dl_close(opts=nil)
  "</dl>\n"
end

#dl_open(opts) ⇒ Object



58
59
60
61
# File 'lib/redcloth/formatters/html.rb', line 58

def dl_open(opts)
  opts[:block] = true
  "<dl#{pba(opts)}>\n"
end

#ellipsis(opts) ⇒ Object



161
162
163
# File 'lib/redcloth/formatters/html.rb', line 161

def ellipsis(opts)
  "#{opts[:text]}&#8230;"
end

#emdash(opts) ⇒ Object



165
166
167
# File 'lib/redcloth/formatters/html.rb', line 165

def emdash(opts)
  "&#8212;"
end

#endash(opts) ⇒ Object



169
170
171
# File 'lib/redcloth/formatters/html.rb', line 169

def endash(opts)
  " &#8211; "
end

#entity(opts) ⇒ Object



196
197
198
# File 'lib/redcloth/formatters/html.rb', line 196

def entity(opts)
  "&#{opts[:text]};"
end

#fn(opts) ⇒ Object



138
139
140
141
142
143
# File 'lib/redcloth/formatters/html.rb', line 138

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) ⇒ Object



133
134
135
136
# File 'lib/redcloth/formatters/html.rb', line 133

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) ⇒ Object



204
205
206
# File 'lib/redcloth/formatters/html.rb', line 204

def gt(opts)
  "&gt;"
end

#hr(opts) ⇒ Object



17
18
19
# File 'lib/redcloth/formatters/html.rb', line 17

def hr(opts)
  "<hr#{pba(opts)} />\n"
end

#html(opts) ⇒ Object



232
233
234
# File 'lib/redcloth/formatters/html.rb', line 232

def html(opts)
  "#{opts[:text]}\n"
end

#html_block(opts) ⇒ Object



236
237
238
239
240
# File 'lib/redcloth/formatters/html.rb', line 236

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) ⇒ Object



258
259
260
# File 'lib/redcloth/formatters/html.rb', line 258

def ignored_line(opts)
  opts[:text] + "\n"
end

#image(opts) ⇒ Object



121
122
123
124
125
126
127
128
129
130
131
# File 'lib/redcloth/formatters/html.rb', line 121

def image(opts)
  if (filter_html || sanitize_html) && ( opts[:src] =~ /^\s*javascript:/i || opts[:href] =~ /^\s*javascript:/i )
    opts[:title]
  else
    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
end

#inline_html(opts) ⇒ Object



250
251
252
253
254
255
256
# File 'lib/redcloth/formatters/html.rb', line 250

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) ⇒ Object



54
55
56
# File 'lib/redcloth/formatters/html.rb', line 54

def li_close(opts=nil)
  "</li>\n"
end

#li_open(opts) ⇒ Object



50
51
52
# File 'lib/redcloth/formatters/html.rb', line 50

def li_open(opts)
  "#{"\t" * opts[:nest]}<li#{pba(opts)}>#{opts[:text]}"
end


113
114
115
116
117
118
119
# File 'lib/redcloth/formatters/html.rb', line 113

def link(opts)
  if (filter_html || sanitize_html) && opts[:href] =~ /^\s*javascript:/i
    opts[:name]
  else
    "<a href=\"#{escape_attribute opts[:href]}\"#{pba(opts)}>#{opts[:name]}</a>"
  end
end

#lt(opts) ⇒ Object



208
209
210
# File 'lib/redcloth/formatters/html.rb', line 208

def lt(opts)
  "&lt;"
end

#multi_paragraph_quote(opts) ⇒ Object



157
158
159
# File 'lib/redcloth/formatters/html.rb', line 157

def multi_paragraph_quote(opts)
  "&#8220;#{opts[:text]}"
end

#notextile(opts) ⇒ Object



242
243
244
245
246
247
248
# File 'lib/redcloth/formatters/html.rb', line 242

def notextile(opts)
  if filter_html
    html_esc(opts[:text], :html_escape_preformatted)
  else
    opts[:text]
  end
end

#quot(opts) ⇒ Object



220
221
222
# File 'lib/redcloth/formatters/html.rb', line 220

def quot(opts)
  "&quot;"
end

#quote1(opts) ⇒ Object



149
150
151
# File 'lib/redcloth/formatters/html.rb', line 149

def quote1(opts)
  "&#8216;#{opts[:text]}&#8217;"
end

#quote2(opts) ⇒ Object



153
154
155
# File 'lib/redcloth/formatters/html.rb', line 153

def quote2(opts)
  "&#8220;#{opts[:text]}&#8221;"
end

#registered(opts) ⇒ Object



188
189
190
# File 'lib/redcloth/formatters/html.rb', line 188

def registered(opts)
  "&#174;"
end

#snip(opts) ⇒ Object



145
146
147
# File 'lib/redcloth/formatters/html.rb', line 145

def snip(opts)
  "<pre#{pba(opts)}><code>#{opts[:text]}</code></pre>\n"
end

#squot(opts) ⇒ Object



224
225
226
# File 'lib/redcloth/formatters/html.rb', line 224

def squot(opts)
  "&#8217;"
end

#table_close(opts) ⇒ Object



90
91
92
# File 'lib/redcloth/formatters/html.rb', line 90

def table_close(opts)
  "</table>\n"
end

#table_open(opts) ⇒ Object



86
87
88
# File 'lib/redcloth/formatters/html.rb', line 86

def table_open(opts)
  "<table#{pba(opts)}>\n"
end

#td(opts) ⇒ Object



73
74
75
76
# 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) ⇒ Object



82
83
84
# File 'lib/redcloth/formatters/html.rb', line 82

def tr_close(opts)
  "\t</tr>\n"
end

#tr_open(opts) ⇒ Object



78
79
80
# File 'lib/redcloth/formatters/html.rb', line 78

def tr_open(opts)
  "\t<tr#{pba(opts)}>\n"
end

#trademark(opts) ⇒ Object



184
185
186
# File 'lib/redcloth/formatters/html.rb', line 184

def trademark(opts)
  "&#8482;"
end