diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-18 00:46:16 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-18 00:46:16 +0000 |
commit | fd25f74d64c69d636764ea11aa5a809b85e58f69 (patch) | |
tree | 40585659bf4b9665ad0d258c415a6765a056d35d /lib/rdoc.rb | |
parent | 0af4a490b48bb6fef8d4f392d0c0b215db8e06f9 (diff) |
Import RDoc r101.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rdoc.rb')
-rw-r--r-- | lib/rdoc.rb | 134 |
1 files changed, 67 insertions, 67 deletions
diff --git a/lib/rdoc.rb b/lib/rdoc.rb index 7aae05731f..53b72241f8 100644 --- a/lib/rdoc.rb +++ b/lib/rdoc.rb @@ -1,8 +1,8 @@ $DEBUG_RDOC = nil ## -# = RDOC - Ruby Documentation System -# +# RDoc - Ruby Documentation System +# # This package contains RDoc and RDoc::Markup. RDoc is an application that # produces documentation for one or more Ruby source files. We work similarly # to JavaDoc, parsing the source, and extracting the definition for classes, @@ -12,12 +12,12 @@ $DEBUG_RDOC = nil # RDoc::Markup is a library that converts plain text into various output # formats. The markup library is used to interpret the comment blocks that # RDoc uses to document methods, classes, and so on. -# +# # == Roadmap -# +# # * If you want to use RDoc to create documentation for your Ruby source files, # read on. -# * If you want to include extensions written in C, see RDoc::C_Parser +# * If you want to include extensions written in C, see RDoc::Parser::C # * For information on the various markups available in comment blocks, see # RDoc::Markup. # * If you want to drive RDoc programmatically, see RDoc::RDoc. @@ -25,63 +25,63 @@ $DEBUG_RDOC = nil # at RDoc::Markup. # * If you want to try writing your own HTML output template, see # RDoc::Generator::HTML -# +# # == Summary -# +# # Once installed, you can create documentation using the 'rdoc' command # (the command is 'rdoc.bat' under Windows) -# +# # % rdoc [options] [names...] -# +# # Type "rdoc --help" for an up-to-date option summary. -# +# # A typical use might be to generate documentation for a package of Ruby -# source (such as rdoc itself). -# +# source (such as rdoc itself). +# # % rdoc -# +# # This command generates documentation for all the Ruby and C source # files in and below the current directory. These will be stored in a # documentation tree starting in the subdirectory 'doc'. -# +# # You can make this slightly more useful for your readers by having the # index page contain the documentation for the primary file. In our # case, we could type -# +# # % rdoc --main rdoc.rb -# +# # You'll find information on the various formatting tricks you can use # in comment blocks in the documentation this generates. -# +# # RDoc uses file extensions to determine how to process each file. File names # ending +.rb+ and <tt>.rbw</tt> are assumed to be Ruby source. Files # ending +.c+ are parsed as C files. All other files are assumed to # contain just Markup-style markup (with or without leading '#' comment # markers). If directory names are passed to RDoc, they are scanned # recursively for C and Ruby source files only. -# +# # = Markup -# +# # For information on how to make lists, hyperlinks, etc. with RDoc, see # RDoc::Markup. -# +# # Comment blocks can be written fairly naturally, either using '#' on # successive lines of the comment, or by including the comment in # an =begin/=end block. If you use the latter form, the =begin line must be # flagged with an RDoc tag: -# +# # =begin rdoc # Documentation to be processed by RDoc. # # ... # =end -# +# # RDoc stops processing comments if it finds a comment line containing # a <tt>--</tt>. This can be used to separate external from internal # comments, or to stop a comment being associated with a method, class, or # module. Commenting can be turned back on with a line that starts with a # <tt>++</tt>. -# +# # ## # # Extract the age and calculate the date-of-birth. # #-- @@ -92,40 +92,40 @@ $DEBUG_RDOC = nil # def get_dob(person) # # ... # end -# +# # Names of classes, source files, and any method names containing an # underscore or preceded by a hash character are automatically hyperlinked -# from comment text to their description. -# +# from comment text to their description. +# # Method parameter lists are extracted and displayed with the method # description. If a method calls +yield+, then the parameters passed to yield # will also be displayed: -# +# # def fred # ... # yield line, address -# +# # This will get documented as: -# +# # fred() { |line, address| ... } -# +# # You can override this using a comment containing ':yields: ...' immediately # after the method definition -# +# # def fred # :yields: index, position # # ... # # yield line, address -# +# # which will get documented as -# +# # fred() { |index, position| ... } -# +# # +:yields:+ is an example of a documentation directive. These appear # immediately after the start of the document element they are modifying. -# +# # == Directives -# +# # [+:nodoc:+ / +:nodoc:+ all] # Don't include this element in the documentation. For classes # and modules, the methods, aliases, constants, and attributes @@ -143,27 +143,27 @@ $DEBUG_RDOC = nil # class Output # end # end -# -# In the above code, only class +MyModule::Input+ will be documented. -# :nodoc: is global across all files the class or module appears in, so use -# :stopdoc:/:startdoc: to only omit documentation for a particular set of -# methods, etc. -# +# +# In the above code, only class +MyModule::Input+ will be documented.The +# The :nodoc: directive is global across all files the class or module +# appears in, so use :stopdoc:/:startdoc: to only omit documentation for a +# particular set of methods, etc. +# # [+:doc:+] # Force a method or attribute to be documented even if it wouldn't otherwise # be. Useful if, for example, you want to include documentation of a # particular private method. -# +# # [+:notnew:+] # Only applicable to the +initialize+ instance method. Normally RDoc -# assumes that the documentation and parameters for #initialize are +# assumes that the documentation and parameters for #initialize are # actually for the ::new method, and so fakes out a ::new for the class. # The :notnew: modifier stops this. Remember that #initialize is protected, # so you won't see the documentation unless you use the -a command line # option. -# +# # Comment blocks can contain other directives: -# +# # [<tt>:section: title</tt>] # Starts a new section in the output. The title following +:section:+ is # used as the section heading, and the remainder of the comment containing @@ -178,66 +178,66 @@ $DEBUG_RDOC = nil # # This is the section that I wrote. # # See it glisten in the noon-day sun. # # ---------------------------------------- -# +# # [+:call-seq:+] # Lines up to the next blank line in the comment are treated as the method's # calling sequence, overriding the default parsing of method parameters and # yield arguments. -# +# # [+:include:+ _filename_] # \Include the contents of the named file at this point. The file will be # searched for in the directories listed by the +--include+ option, or in # the current directory by default. The contents of the file will be -# shifted to have the same indentation as the ':' at the start of the -# :include: directive. -# +# shifted to have the same indentation as the ':' at the start of +# the :include: directive. +# # [+:title:+ _text_] # Sets the title for the document. Equivalent to the <tt>--title</tt> # command line parameter. (The command line parameter overrides any :title: # directive in the source). -# +# # [+:enddoc:+] # Document nothing further at the current level. -# +# # [+:main:+ _name_] # Equivalent to the <tt>--main</tt> command line parameter. -# +# # [+:stopdoc:+ / +:startdoc:+] # Stop and start adding new documentation elements to the current container. # For example, if a class has a number of constants that you don't want to # document, put a +:stopdoc:+ before the first, and a +:startdoc:+ after the # last. If you don't specify a +:startdoc:+ by the end of the container, # disables documentation for the entire class or module. -# +# # = Other stuff -# +# # RDoc is currently being maintained by Eric Hodel <[email protected]> # # Dave Thomas <[email protected]> is the original author of RDoc. -# +# # == Credits -# +# # * The Ruby parser in rdoc/parse.rb is based heavily on the outstanding # work of Keiju ISHITSUKA of Nippon Rational Inc, who produced the Ruby # parser for irb and the rtags package. -# +# # * Code to diagram classes and modules was written by Sergey A Yanovitsky # (Jah) of Enticla. -# +# # * Charset patch from MoonWolf. -# +# # * Rich Kilmer wrote the kilmer.rb output template. -# +# # * Dan Brickley led the design of the RDF format. -# +# # == License -# +# # RDoc is Copyright (c) 2001-2003 Dave Thomas, The Pragmatic Programmers. It # is free software, and may be redistributed under the terms specified # in the README file of the Ruby distribution. -# +# # == Warranty -# +# # This software is provided "as is" and without any express or implied # warranties, including, without limitation, the implied warranties of # merchantibility and fitness for a particular purpose. @@ -254,7 +254,7 @@ module RDoc ## # RDoc version you are using - VERSION = "2.0.0" + VERSION = "2.1.0" ## # Name of the dotfile that contains the description of files to be processed |