mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
1c279a7d27
* bin/rdoc: ditto * test/rdoc: ditto * NEWS: Updated with RDoc 4.0 information git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
61 lines
1.1 KiB
Ruby
61 lines
1.1 KiB
Ruby
##
|
|
# Extracts just the RDoc::Markup::Heading elements from a
|
|
# RDoc::Markup::Document to help build a table of contents
|
|
|
|
class RDoc::Markup::ToTableOfContents < RDoc::Markup::Formatter
|
|
|
|
@to_toc = nil
|
|
|
|
##
|
|
# Singleton for table-of-contents generation
|
|
|
|
def self.to_toc
|
|
@to_toc ||= new
|
|
end
|
|
|
|
##
|
|
# Output accumulator
|
|
|
|
attr_reader :res
|
|
|
|
def initialize # :nodoc:
|
|
super nil
|
|
end
|
|
|
|
##
|
|
# Adds +heading+ to the table of contents
|
|
|
|
def accept_heading heading
|
|
@res << heading
|
|
end
|
|
|
|
##
|
|
# Returns the table of contents
|
|
|
|
def end_accepting
|
|
@res
|
|
end
|
|
|
|
##
|
|
# Prepares the visitor for text generation
|
|
|
|
def start_accepting
|
|
@res = []
|
|
end
|
|
|
|
# :stopdoc:
|
|
alias accept_block_quote ignore
|
|
alias accept_raw ignore
|
|
alias accept_rule ignore
|
|
alias accept_blank_line ignore
|
|
alias accept_paragraph ignore
|
|
alias accept_verbatim ignore
|
|
alias accept_list_end ignore
|
|
alias accept_list_item_start ignore
|
|
alias accept_list_item_end ignore
|
|
alias accept_list_end_bullet ignore
|
|
alias accept_list_start ignore
|
|
# :startdoc:
|
|
|
|
end
|
|
|