Class RI::HtmlFormatter
In: ri/ri_formatter.rb
Parent: AttributeFormatter

This formatter uses HTML.

Methods

Constants

ATTR_MAP = { BOLD => "b>", ITALIC => "i>", CODE => "tt>"

Public Class methods

[Source]

     # File ri/ri_formatter.rb, line 470
470:     def initialize(*args)
471:       super
472:     end

Public Instance methods

[Source]

     # File ri/ri_formatter.rb, line 498
498:     def blankline()
499:       puts("<p>")
500:     end

[Source]

     # File ri/ri_formatter.rb, line 494
494:     def bold_print(txt)
495:       tag("b") { txt }
496:     end

[Source]

     # File ri/ri_formatter.rb, line 502
502:     def break_to_newline
503:       puts("<br>")
504:     end

[Source]

     # File ri/ri_formatter.rb, line 506
506:     def display_heading(text, level, indent)
507:       level = 4 if level > 4
508:       tag("h#{level}") { text }
509:       puts
510:     end

[Source]

     # File ri/ri_formatter.rb, line 514
514:     def display_list(list)
515: 
516:       case list.type
517:       when SM::ListBase::BULLET 
518:         list_type = "ul"
519:         prefixer = proc { |ignored| "<li>" }
520: 
521:       when SM::ListBase::NUMBER,
522:       SM::ListBase::UPPERALPHA,
523:       SM::ListBase::LOWERALPHA
524:         list_type = "ol"
525:         prefixer = proc { |ignored| "<li>" }
526:         
527:       when SM::ListBase::LABELED
528:         list_type = "dl"
529:         prefixer = proc do |li|
530:           "<dt><b>" + escape(li.label) + "</b><dd>"
531:         end
532: 
533:       when SM::ListBase::NOTE
534:         list_type = "table"
535:         prefixer = proc do |li|
536:           %{<tr valign="top"><td>#{li.label.gsub(/ /, '&nbsp;')}</td><td>}
537:         end
538:       else
539:         fail "unknown list type"
540:       end
541: 
542:       print "<#{list_type}>"
543:       list.contents.each do |item|
544:         if item.kind_of? SM::Flow::LI
545:           prefix = prefixer.call(item)
546:           print prefix
547:           display_flow_item(item, prefix)
548:         else
549:           display_flow_item(item)
550:         end
551:       end
552:       print "</#{list_type}>"
553:     end

[Source]

     # File ri/ri_formatter.rb, line 555
555:     def display_verbatim_flow_item(item, prefix=@indent)
556:         print("<pre>")
557:         item.body.split(/\n/).each do |line|
558:           puts conv_html(line)
559:         end
560:         puts("</pre>")
561:     end

[Source]

     # File ri/ri_formatter.rb, line 487
487:     def draw_line(label=nil)
488:       if label != nil
489:         bold_print(label)
490:       end
491:       puts("<hr>")
492:     end

[Source]

     # File ri/ri_formatter.rb, line 474
474:     def write_attribute_text(prefix, line)
475:       curr_attr = 0
476:       line.each do |achar|
477:         attr = achar.attr
478:         if achar.attr != curr_attr
479:           update_attributes(curr_attr, achar.attr)
480:           curr_attr = achar.attr
481:         end
482:         print(escape(achar.char))
483:       end
484:       update_attributes(curr_attr, 0) unless curr_attr.zero?
485:     end

[Validate]