Base class for RDoc markup formatters
Formatters use a visitor pattern to convert content into output.
If you'd like to write your own Formatter use RDoc::Markup::FormatterTestCase. If you're writing a text-output formatter use RDoc::Markup::TextFormatterTestCase which provides extra test cases.
Methods
- A
- C
- I
- N
- O
- T
Constants
InlineTag | = | Struct.new(:bit, :on, :off) |
Tag for inline markup containing a |
Class Public methods
Instance Public methods
accept_document(document)
Link
Adds document
to the output
add_tag(name, start, stop)
Link
Add a new set of tags for an attribute. We allow separate start and end tags for flexibility
annotate(tag)
Link
Allows tag
to be decorated with additional information.
convert(content)
Link
Marks up content
convert_flow(flow)
Link
Converts flow items flow
# File ../ruby/lib/rdoc/markup/formatter.rb, line 68 def convert_flow(flow) res = [] flow.each do |item| case item when String then res << convert_string(item) when RDoc::Markup::AttrChanger then off_tags res, item on_tags res, item when RDoc::Markup::Special then res << convert_special(item) else raise "Unknown flow element: #{item.inspect}" end end res.join end
convert_special(special)
Link
Converts added specials. See RDoc::Markup#add_special
# File ../ruby/lib/rdoc/markup/formatter.rb, line 91 def convert_special special return special.text if in_tt? handled = false RDoc::Markup::Attribute.each_name_of special.type do |name| method_name = "handle_special_#{name}" if respond_to? method_name then special.text = send method_name, special handled = true end end raise "Unhandled special: #{special}" unless handled special.text end
convert_string(string)
Link
Converts a string to be fancier if desired
in_tt?()
Link
Are we currently inside tt tags?