class RDoc::Markup::ToLabel
Creates HTML-safe labels suitable for use in id attributes. Tidylinks are converted to their link part and cross-reference links have the suppression marks removed (\SomeClass is converted to SomeClass).
Public Class Methods
new(markup = nil)
click to toggle source
Creates a new formatter that will output HTML-safe labels
Calls superclass method
RDoc::Markup::Formatter.new
# File lib/rdoc/markup/to_label.rb, line 15 def initialize markup = nil super nil, markup @markup.add_special RDoc::CrossReference::CROSSREF_REGEXP, :CROSSREF @markup.add_special(/(((\{.*?\})|\b\S+?)\[\S+?\])/, :TIDYLINK) add_tag :BOLD, '', '' add_tag :TT, '', '' add_tag :EM, '', '' @res = [] end
Public Instance Methods
convert(text)
click to toggle source
Converts text
to an HTML-safe label
# File lib/rdoc/markup/to_label.rb, line 31 def convert text label = convert_flow @am.flow text CGI.escape(label).gsub('%', '-').sub(/^-/, '') end
handle_special_CROSSREF(special)
click to toggle source
Converts the CROSSREF special
to plain text, removing the
suppression marker, if any
# File lib/rdoc/markup/to_label.rb, line 41 def handle_special_CROSSREF special text = special.text text.sub(/^\\/, '') end
handle_special_TIDYLINK(special)
click to toggle source
Converts the TIDYLINK special
to just the text part
# File lib/rdoc/markup/to_label.rb, line 50 def handle_special_TIDYLINK special text = special.text return text unless text =~ /\{(.*?)\}\[(.*?)\]/ or text =~ /(\S+)\[(.*?)\]/ $1 end