must-have constants
# File lib/rd/rd2html-lib.rb, line 393 def add_foottext(num, foottext) raise ArgumentError, "[BUG] footnote ##{num} isn't here." unless footnotes[num - 1] @foottexts[num - 1] = foottext end
# File lib/rd/rd2html-lib.rb, line 287 def apply_to_Code(element, content) %[<code>#{content.join("")}</code>] end
# File lib/rd/rd2html-lib.rb, line 230 def apply_to_DescList(element, items) %[<dl>\n#{items.join("\n").chomp}\n</dl>] end
# File lib/rd/rd2html-lib.rb, line 251 def apply_to_DescListItem(element, term, description) anchor = get_anchor(element.term) label = hyphen_escape(element.label) term = term.join("") if description.empty? %[<dt><a name="#{anchor}" id="#{anchor}">#{term}</a></dt>] + %[<!-- RDLabel: "#{label}" -->] else %[<dt><a name="#{anchor}" id="#{anchor}">#{term}</a></dt>] + %[<!-- RDLabel: "#{label}" -->\n] + %[<dd>\n#{description.join("\n").chomp}\n</dd>] end end
# File lib/rd/rd2html-lib.rb, line 67 def apply_to_DocumentElement(element, content) ret = "" ret << xml_decl + "\n" ret << doctype_decl + "\n" ret << html_open_tag + "\n" ret << html_head + "\n" ret << html_body(content) + "\n" ret << "</html>\n" ret end
# File lib/rd/rd2html-lib.rb, line 283 def apply_to_Emphasis(element, content) %[<em>#{content.join("")}</em>] end
# File lib/rd/rd2html-lib.rb, line 226 def apply_to_EnumList(element, items) %[<ol>\n#{items.join("\n").chomp}\n</ol>] end
# File lib/rd/rd2html-lib.rb, line 242 def apply_to_EnumListItem(element, content) %[<li>#{content.join("\n").chomp}</li>] end
# File lib/rd/rd2html-lib.rb, line 354 def apply_to_Footnote(element, content) num = get_footnote_num(element) raise ArgumentError, "[BUG?] #{element} is not registered." unless num add_foottext(num, content) anchor = a_name("footmark", num) href = a_name("foottext", num) %<a name="#{anchor}" id="#{anchor}" | + %href="##{href}"><sup><small>| + %*#{num}</small></sup></a>| end
# File lib/rd/rd2html-lib.rb, line 382 def apply_to_Foottext(element, content) num = get_footnote_num(element) raise ArgumentError, "[BUG] #{element} isn't registered." unless num anchor = a_name("foottext", num) href = a_name("footmark", num) content = content.join("") %<a name="#{anchor}" id="#{anchor}" href="##{href}">|+ %<sup><small>*#{num}</small></sup></a>| + %<small>#{content}</small><br />| end
# File lib/rd/rd2html-lib.rb, line 163 def apply_to_Headline(element, title) anchor = get_anchor(element) label = hyphen_escape(element.label) title = title.join("") %[<h#{element.level}><a name="#{anchor}" id="#{anchor}">#{title}</a>] + %[</h#{element.level}><!-- RDLabel: "#{label}" -->] end
# File lib/rd/rd2html-lib.rb, line 299 def apply_to_Index(element, content) tmp = [] element.each do |i| tmp.push(i) if i.is_a?(String) end key = meta_char_escape(tmp.join("")) if @index.has_key?(key) # warning? %[<!-- Index, but conflict -->#{content.join("")}<!-- Index end -->] else num = @index[key] = @index.size anchor = a_name("index", num) %[<a name="#{anchor}" id="#{anchor}">#{content.join("")}</a>] end end
# File lib/rd/rd2html-lib.rb, line 222 def apply_to_ItemList(element, items) %[<ul>\n#{items.join("\n").chomp}\n</ul>] end
# File lib/rd/rd2html-lib.rb, line 238 def apply_to_ItemListItem(element, content) %[<li>#{content.join("\n").chomp}</li>] end
# File lib/rd/rd2html-lib.rb, line 295 def apply_to_Keyboard(element, content) %[<kbd>#{content.join("")}</kbd>] end
# File lib/rd/rd2html-lib.rb, line 234 def apply_to_MethodList(element, items) %[<dl>\n#{items.join("\n").chomp}\n</dl>] end
# File lib/rd/rd2html-lib.rb, line 265 def apply_to_MethodListItem(element, term, description) term = parse_method(term) # maybe: term -> element.term anchor = get_anchor(element.term) label = hyphen_escape(element.label) if description.empty? %[<dt><a name="#{anchor}" id="#{anchor}"><code>#{term}] + %[</code></a></dt><!-- RDLabel: "#{label}" -->] else %[<dt><a name="#{anchor}" id="#{anchor}"><code>#{term}] + %[</code></a></dt><!-- RDLabel: "#{label}" -->\n] + %[<dd>\n#{description.join("\n")}</dd>] end end
# File lib/rd/rd2html-lib.rb, line 328 def apply_to_RefToElement(element, content) content = content.join("") if anchor = refer(element) content = content.sub(/^function#/, "") %[<a href="\##{anchor}">#{content}</a>] else # warning? label = hyphen_escape(element.to_label) %[<!-- Reference, RDLabel "#{label}" doesn't exist -->] + %[<em class="label-not-found">#{content}</em><!-- Reference end -->] #' end end
# File lib/rd/rd2html-lib.rb, line 342 def apply_to_RefToOtherFile(element, content) content = content.join("") filename = element.label.filename.sub(/\.(rd|rb)(\.\w+)?$/, "." + OUTPUT_SUFFIX) anchor = refer_external(element) if anchor %[<a href="#{filename}\##{anchor}">#{content}</a>] else %[<a href="#{filename}">#{content}</a>] end end
# File lib/rd/rd2html-lib.rb, line 315 def apply_to_Reference_with_RDLabel(element, content) if element.label.filename apply_to_RefToOtherFile(element, content) else apply_to_RefToElement(element, content) end end
# File lib/rd/rd2html-lib.rb, line 323 def apply_to_Reference_with_URL(element, content) %[<a href="#{meta_char_escape(element.label.url)}">] + %[#{content.join("")}</a>] end
# File lib/rd/rd2html-lib.rb, line 409 def apply_to_String(element) meta_char_escape(element) end
# File lib/rd/rd2html-lib.rb, line 279 def apply_to_StringElement(element) apply_to_String(element.content) end
RDVisitor#apply_to_Include
# File lib/rd/rd2html-lib.rb, line 173 def apply_to_TextBlock(element, content) content = content.join("") if (is_this_textblock_only_one_block_of_parent_listitem?(element) or is_this_textblock_only_one_block_other_than_sublists_in_parent_listitem?(element)) content.chomp else %[<p>#{content.chomp}</p>] end end
# File lib/rd/rd2html-lib.rb, line 291 def apply_to_Var(element, content) %[<var>#{content.join("")}</var>] end
# File lib/rd/rd2html-lib.rb, line 399 def apply_to_Verb(element) content = apply_to_String(element.content) %[#{content}] end
# File lib/rd/rd2html-lib.rb, line 214 def apply_to_Verbatim(element) content = [] element.each_line do |i| content.push(apply_to_String(i)) end %[<pre>#{content.join("").chomp}</pre>] end
# File lib/rd/rd2html-lib.rb, line 201 def consist_of_one_textblock_and_sublists(element) i = 0 element.each_child do |child| if i == 0 return false unless child.is_a?(TextBlock) else return false unless child.is_a?(List) end i += 1 end return true end
# File lib/rd/rd2html-lib.rb, line 366 def get_footnote_num(fn) raise ArgumentError, "#{fn} must be Footnote." unless fn.is_a? Footnote i = @footnotes.index(fn) if i i + 1 else nil end end
# File lib/rd/rd2html-lib.rb, line 461 def hyphen_escape(str) str.gsub(/--/, "­­") end
# File lib/rd/rd2html-lib.rb, line 183 def is_this_textblock_only_one_block_of_parent_listitem?(element) parent = element.parent (parent.is_a?(ItemListItem) or parent.is_a?(EnumListItem) or parent.is_a?(DescListItem) or parent.is_a?(MethodListItem)) and consist_of_one_textblock?(parent) end
# File lib/rd/rd2html-lib.rb, line 192 def is_this_textblock_only_one_block_other_than_sublists_in_parent_listitem?(element) parent = element.parent (parent.is_a?(ItemListItem) or parent.is_a?(EnumListItem) or parent.is_a?(DescListItem) or parent.is_a?(MethodListItem)) and consist_of_one_textblock_and_sublists(element.parent) end
Generated with the Darkfish Rdoc Generator 2.