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


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

def amp(opts)
  "&amp;"
end

#apos(opts) ⇒ Object


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

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

#arrow(opts) ⇒ Object


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

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


204
205
206
207
208
209
210
# File 'lib/redcloth/formatters/html.rb', line 204

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

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

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


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

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


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

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

#emdash(opts) ⇒ Object


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

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

#endash(opts) ⇒ Object


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

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

#entity(opts) ⇒ Object


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

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

#fn(opts) ⇒ Object


130
131
132
133
134
135
# File 'lib/redcloth/formatters/html.rb', line 130

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


125
126
127
128
# File 'lib/redcloth/formatters/html.rb', line 125

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


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

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


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

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

#html_block(opts) ⇒ Object


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

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


250
251
252
# File 'lib/redcloth/formatters/html.rb', line 250

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

#image(opts) ⇒ Object


117
118
119
120
121
122
123
# File 'lib/redcloth/formatters/html.rb', line 117

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


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

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
# File 'lib/redcloth/formatters/html.rb', line 113

def link(opts)
  "<a href=\"#{escape_attribute opts[:href]}\"#{pba(opts)}>#{opts[:name]}</a>"
end

#lt(opts) ⇒ Object


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

def lt(opts)
  "&lt;"
end

#multi_paragraph_quote(opts) ⇒ Object


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

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

#notextile(opts) ⇒ Object


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

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

#quot(opts) ⇒ Object


212
213
214
# File 'lib/redcloth/formatters/html.rb', line 212

def quot(opts)
  "&quot;"
end

#quote1(opts) ⇒ Object


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

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

#quote2(opts) ⇒ Object


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

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

#registered(opts) ⇒ Object


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

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

#snip(opts) ⇒ Object


137
138
139
# File 'lib/redcloth/formatters/html.rb', line 137

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

#squot(opts) ⇒ Object


216
217
218
# File 'lib/redcloth/formatters/html.rb', line 216

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


176
177
178
# File 'lib/redcloth/formatters/html.rb', line 176

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