class HikiDoc::HTMLOutput
Public Class Methods
Source
# File lib/hikidoc.rb, line 549 def initialize(suffix = " />") @suffix = suffix @f = nil end
Public Instance Methods
Source
# File lib/hikidoc.rb, line 695 def block_plugin(str) @f.puts %Q(<div class="plugin">{{#{escape_html(str)}}}</div>) end
Source
# File lib/hikidoc.rb, line 670 def block_preformatted(str, info) syntax = info ? info.downcase : nil if syntax begin convertor = Syntax::Convertors::HTML.for_syntax(syntax) @f.puts convertor.convert(str) return rescue NameError, RuntimeError @f.puts %Q|<pre class="prettyprint">#{text(str)}</pre>| return end end preformatted(text(str)) end
Source
# File lib/hikidoc.rb, line 666 def blockquote_close @f.puts "</blockquote>" end
Source
# File lib/hikidoc.rb, line 662 def blockquote_open @f.print "<blockquote>" end
Source
# File lib/hikidoc.rb, line 562 def container(_for=nil) case _for when :paragraph [] else "" end end
Source
# File lib/hikidoc.rb, line 618 def dlist_item(dt, dd) case when dd.empty? @f.puts "<dt>#{dt}</dt>" when dt.empty? @f.puts "<dd>#{dd}</dd>" else @f.puts "<dt>#{dt}</dt>" @f.puts "<dd>#{dd}</dd>" end end
Source
# File lib/hikidoc.rb, line 749 def escape_html(text) text.gsub(/&/, "&").gsub(/</, "<").gsub(/>/, ">") end
Source
# File lib/hikidoc.rb, line 745 def escape_html_param(str) escape_quote(escape_html(str)) end
Utilities
Source
# File lib/hikidoc.rb, line 757 def escape_quote(text) text.gsub(/"/, """) end
Source
# File lib/hikidoc.rb, line 575 def headline(level, title) @f.puts "<h#{level}>#{title}</h#{level}>" end
Procedures
Source
# File lib/hikidoc.rb, line 703 def hyperlink(uri, title) %Q(<a href="#{escape_html_param(uri)}">#{title}</a>) end
Functions
Source
# File lib/hikidoc.rb, line 711 def image_hyperlink(uri, alt = nil) alt ||= uri.split(/\//).last alt = escape_html(alt) %Q(<img src="#{escape_html_param(uri)}" alt="#{alt}"#{@suffix}) end
Source
# File lib/hikidoc.rb, line 737 def inline_plugin(src) %Q(<span class="plugin">{{#{escape_html(src)}}}</span>) end
Source
# File lib/hikidoc.rb, line 594 def list_close(type) @f.print "</#{type}>" end
Source
# File lib/hikidoc.rb, line 691 def paragraph(lines) @f.puts "<p>#{lines.join("\n")}</p>" end
Source
# File lib/hikidoc.rb, line 685 def preformatted(str) @f.print "<pre>" @f.print str @f.puts "</pre>" end
Source
# File lib/hikidoc.rb, line 717 def strong(item) "<strong>#{item}</strong>" end
Source
# File lib/hikidoc.rb, line 650 def table_data(item, rs, cs) @f.print "<td#{tdattr(rs, cs)}>#{item}</td>" end
Source
# File lib/hikidoc.rb, line 646 def table_head(item, rs, cs) @f.print "<th#{tdattr(rs, cs)}>#{item}</th>" end
Source
# File lib/hikidoc.rb, line 630 def table_open @f.puts %Q(<table border="1">) end
Source
# File lib/hikidoc.rb, line 642 def table_record_close @f.puts "</tr>" end
Source
# File lib/hikidoc.rb, line 638 def table_record_open @f.print "<tr>" end
Source
# File lib/hikidoc.rb, line 753 def unescape_html(text) text.gsub(/>/, ">").gsub(/</, "<").gsub(/&/, "&") end
Source
# File lib/hikidoc.rb, line 707 def wiki_name(name) hyperlink(name, text(name)) end
Private Instance Methods
Source
# File lib/hikidoc.rb, line 654 def tdattr(rs, cs) buf = "" buf << %Q( rowspan="#{rs}") if rs buf << %Q( colspan="#{cs}") if cs buf end