diff options
author | dave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-20 15:02:57 +0000 |
---|---|---|
committer | dave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-20 15:02:57 +0000 |
commit | a80ba17d67141a51459bb89b1fb51e8b0a4ff2de (patch) | |
tree | 07dbf3a174284bb23462ce5109658ea56466207a /lib/rdoc/generators | |
parent | aafc487d6a461d0a729432f919af0ee9645fcf14 (diff) | |
download | ruby-a80ba17d67141a51459bb89b1fb51e8b0a4ff2de.tar.gz |
1. Force --inline-source if --one-file given
2. Add new :section: directive which starts a new section in the output.
The title following :section: is used as the section heading, and the
remainder of the comment containing the section is used as
introductory text. Subsequent methods, aliases, attributes,
and classes will be documented in this section.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rdoc/generators')
-rw-r--r-- | lib/rdoc/generators/html_generator.rb | 132 | ||||
-rw-r--r-- | lib/rdoc/generators/template/html/html.rb | 597 |
2 files changed, 424 insertions, 305 deletions
diff --git a/lib/rdoc/generators/html_generator.rb b/lib/rdoc/generators/html_generator.rb index fbfc596cc3..f9c72a4df2 100644 --- a/lib/rdoc/generators/html_generator.rb +++ b/lib/rdoc/generators/html_generator.rb @@ -336,8 +336,10 @@ module Generators # Build a list of aliases for which we couldn't find a # corresponding method - def build_alias_summary_list - @context.aliases.map do |al| + def build_alias_summary_list(section) + values = [] + @context.aliases.each do |al| + next unless al.section == section res = { 'old_name' => al.old_name, 'new_name' => al.new_name, @@ -345,20 +347,24 @@ module Generators if al.comment && !al.comment.empty? res['desc'] = markup(al.comment, true) end - res + values << res end + values end # Build a list of constants - def build_constants_summary_list - @context.constants.map do |co| + def build_constants_summary_list(section) + values = [] + @context.constants.each do |co| + next unless co.section == section res = { 'name' => co.name, 'value' => CGI.escapeHTML(co.value) } res['desc'] = markup(co.comment, true) if co.comment && !co.comment.empty? - res + values << res end + values end def build_requires_list(context) @@ -416,7 +422,7 @@ module Generators # methods, the other for instance methods. The inner arrays contain # a hash for each method - def build_method_detail_list + def build_method_detail_list(section) outer = [] methods = @methods.sort @@ -424,7 +430,10 @@ module Generators for vis in [ :public, :protected, :private ] res = [] methods.each do |m| - if m.document_self and m.visibility == vis and m.singleton == singleton + if m.section == section and + m.document_self and + m.visibility == vis and + m.singleton == singleton row = {} if m.call_seq row["callseq"] = m.call_seq.gsub(/->/, '→') @@ -478,11 +487,12 @@ module Generators # Build the structured list of classes and modules contained # in this context. - def build_class_list(level, from, infile=nil) + def build_class_list(level, from, section, infile=nil) res = "" prefix = " ::" * level; from.modules.sort.each do |mod| + next unless mod.section == section next if infile && !mod.defined_in?(infile) if mod.document_self res << @@ -490,11 +500,12 @@ module Generators "Module " << href(url(mod.viewer.path), "link", mod.full_name) << "<br />\n" << - build_class_list(level + 1, mod, infile) + build_class_list(level + 1, mod, section, infile) end end from.classes.sort.each do |cls| + next unless cls.section == section next if infile && !cls.defined_in?(infile) if cls.document_self res << @@ -502,7 +513,7 @@ module Generators "Class " << href(url(cls.viewer.path), "link", cls.full_name) << "<br />\n" << - build_class_list(level + 1, cls, infile) + build_class_list(level + 1, cls, section, infile) end end @@ -541,6 +552,24 @@ module Generators end res end + + # create table of contents if we contain sections + + def add_table_of_sections + toc = [] + @context.sections.each do |section| + if section.title + toc << { + 'secname' => section.title, + 'href' => section.sequence + } + end + end + + @values['toc'] = toc unless toc.empty? + end + + end ##################################################################### @@ -604,6 +633,7 @@ module Generators def value_hash class_attribute_values + add_table_of_sections @values["charset"] = @options.charset @values["style_url"] = style_url(path, @options.css) @@ -614,30 +644,43 @@ module Generators ml = build_method_summary_list @values["methods"] = ml unless ml.empty? - al = build_alias_summary_list - @values["aliases"] = al unless al.empty? - - co = build_constants_summary_list - @values["constants"] = co unless co.empty? - il = build_include_list(@context) @values["includes"] = il unless il.empty? - al = build_attribute_list - @values["attributes"] = al unless al.empty? - - cl = build_class_list(0, @context) - @values["classlist"] = cl unless cl.empty? + @values["sections"] = @context.sections.map do |section| + + secdata = { + "sectitle" => section.title, + "secsequence" => section.sequence, + "seccomment" => markup(section.comment) + } + + al = build_alias_summary_list(section) + secdata["aliases"] = al unless al.empty? + + co = build_constants_summary_list(section) + secdata["constants"] = co unless co.empty? + + al = build_attribute_list(section) + secdata["attributes"] = al unless al.empty? + + cl = build_class_list(0, @context, section) + secdata["classlist"] = cl unless cl.empty? + + mdl = build_method_detail_list(section) + secdata["method_list"] = mdl unless mdl.empty? + + secdata + end - mdl = build_method_detail_list - @values["method_list"] = mdl unless mdl.empty? @values end - def build_attribute_list + def build_attribute_list(section) atts = @context.attributes.sort res = [] atts.each do |att| + next unless att.section == section if att.visibility == :public || @options.show_all entry = { "name" => CGI.escapeHTML(att.name), @@ -701,7 +744,6 @@ module Generators end @values['infiles'] = files - end def <=>(other) @@ -759,6 +801,7 @@ module Generators def value_hash file_attribute_values + add_table_of_sections @values["charset"] = @options.charset @values["href"] = path @@ -778,23 +821,36 @@ module Generators rl = build_requires_list(@context) @values["requires"] = rl unless rl.empty? - co = build_constants_summary_list - @values["constants"] = co unless co.empty? - - al = build_alias_summary_list - @values["aliases"] = al unless al.empty? - if @options.promiscuous file_context = nil else file_context = @context end - cl = build_class_list(0, @context, file_context) - @values["classlist"] = cl unless cl.empty? - mdl = build_method_detail_list - @values["method_list"] = mdl unless mdl.empty? + @values["sections"] = @context.sections.map do |section| + + secdata = { + "sectitle" => section.title, + "secsequence" => section.sequence, + "seccomment" => markup(section.comment) + } + + cl = build_class_list(0, @context, section, file_context) + @values["classlist"] = cl unless cl.empty? + + mdl = build_method_detail_list(section) + secdata["method_list"] = mdl unless mdl.empty? + + al = build_alias_summary_list(section) + secdata["aliases"] = al unless al.empty? + + co = build_constants_summary_list(section) + @values["constants"] = co unless co.empty? + + secdata + end + @values end @@ -885,6 +941,10 @@ module Generators @context.name end + def section + @context.section + end + def index_name "#{@context.name} (#{@html_class.name})" end diff --git a/lib/rdoc/generators/template/html/html.rb b/lib/rdoc/generators/template/html/html.rb index e0a8880004..fd9917b43a 100644 --- a/lib/rdoc/generators/template/html/html.rb +++ b/lib/rdoc/generators/template/html/html.rb @@ -20,19 +20,22 @@ # module RDoc - module Page + module Page - FONTS = "Verdana,Arial,Helvetica,sans-serif" + FONTS = "Verdana,Arial,Helvetica,sans-serif" STYLE = %{ body { + font-family: Verdana,Arial,Helvetica,sans-serif; + font-size: 90%; margin: 0; + margin-left: 40px; padding: 0; background: white; } h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; } -h1 { font-size: 120%; } +h1 { font-size: 150%; } h2,h3,h4 { margin-top: 1em; } a { background: #eef; color: #039; text-decoration: none; } @@ -40,61 +43,75 @@ a:hover { background: #039; color: #eef; } /* Override the base stylesheet's Anchor inside a table cell */ td > a { - background: transparent; - color: #039; - text-decoration: none; + background: transparent; + color: #039; + text-decoration: none; +} + +/* and inside a section title */ +.section-title > a { + background: transparent; + color: #eee; + text-decoration: none; } /* === Structural elements =================================== */ div#index { margin: 0; + margin-left: -40px; padding: 0; - font-size: 0.9em; + font-size: 90%; } + div#index a { margin-left: 0.7em; } -div#classHeader { +div#index .section-bar { + margin-left: 0px; + padding-left: 0.7em; + background: #ccc; + font-size: small; +} + + +div#classHeader, div#fileHeader { width: auto; - background: #039; color: white; padding: 0.5em 1.5em 0.5em 1.5em; margin: 0; + margin-left: -40px; border-bottom: 3px solid #006; } -div#classHeader a { +div#classHeader a, div#fileHeader a { background: inherit; color: white; } -div#classHeader td { +div#classHeader td, div#fileHeader td { background: inherit; color: white; } + div#fileHeader { - width: auto; - background: #039; - color: white; - padding: 0.5em 1.5em 0.5em 1.5em; - margin: 0; - border-bottom: 3px solid #006; + background: #057; } -div#fileHeader a { - background: inherit; - color: white; +div#classHeader { + background: #048; } -div#fileHeader td { - background: inherit; - color: white; + +.class-name-in-header { + font-size: 180%; + font-weight: bold; } + div#bodyContent { padding: 0 1.5em 0 1.5em; } @@ -105,7 +122,7 @@ div#description { border: 1px dotted #999; } -div#description h1,h2,h3,h4,h5,h6 { +div#description h1,h3,h3,h4,h5,h6 { color: black; background: transparent; } @@ -137,35 +154,51 @@ table.header-table { color: #DEDEDE; } -.section-bar { +.xxsection-bar { background: #eee; color: #333; padding: 3px; +} + +.section-bar { + color: #333; + border-bottom: 1px solid #999; + margin-left: -20px; +} + + +.section-title { + background: #79a; + color: #eee; + padding: 3px; + margin-top: 2em; + margin-left: -30px; border: 1px solid #999; } -.top-aligned-row { vertical-align: vertical-align: top } +.top-aligned-row { vertical-align: top } +.bottom-aligned-row { vertical-align: bottom } /* --- Context section classes ----------------------- */ .context-row { } .context-item-name { font-family: monospace; font-weight: bold; color: black; } -.context-item-value { font-size: x-small; color: #448; } -.context-item-desc { background: #efefef; } +.context-item-value { font-size: small; color: #448; } +.context-item-desc { color: #333; padding-left: 2em; } /* --- Method classes -------------------------- */ .method-detail { - background: #EFEFEF; + background: #efefef; padding: 0; margin-top: 0.5em; - margin-bottom: 0.5em; - border: 1px dotted #DDD; + margin-bottom: 1em; + border: 1px dotted #ccc; } .method-heading { - color: black; - background: #AAA; - border-bottom: 1px solid #666; - padding: 0.2em 0.5em 0 0.5em; + color: black; + background: #ccc; + border-bottom: 1px solid #666; + padding: 0.2em 0.5em 0 0.5em; } .method-signature { color: black; background: inherit; } .method-name { font-weight: bold; } @@ -178,7 +211,7 @@ a.source-toggle { font-size: 90%; } div.method-source-code { background: #262626; color: #ffdead; - margin: 1em; + margin: 1em; padding: 0.5em; border: 1px dashed #999; overflow: hidden; @@ -190,20 +223,20 @@ div.method-source-code pre { color: #ffdead; overflow: hidden; } .standalone-code { background: #221111; color: #ffdead; overflow: hidden; } -.ruby-constant { color: #7fffd4; background: transparent; } -.ruby-keyword { color: #00ffff; background: transparent; } -.ruby-ivar { color: #eedd82; background: transparent; } -.ruby-operator { color: #00ffee; background: transparent; } +.ruby-constant { color: #7fffd4; background: transparent; } +.ruby-keyword { color: #00ffff; background: transparent; } +.ruby-ivar { color: #eedd82; background: transparent; } +.ruby-operator { color: #00ffee; background: transparent; } .ruby-identifier { color: #ffdead; background: transparent; } -.ruby-node { color: #ffa07a; background: transparent; } -.ruby-comment { color: #b22222; font-weight: bold; background: transparent; } -.ruby-regexp { color: #ffa07a; background: transparent; } -.ruby-value { color: #7fffd4; background: transparent; } +.ruby-node { color: #ffa07a; background: transparent; } +.ruby-comment { color: #b22222; font-weight: bold; background: transparent; } +.ruby-regexp { color: #ffa07a; background: transparent; } +.ruby-value { color: #7fffd4; background: transparent; } } ##################################################################### -### H E A D E R T E M P L A T E +### H E A D E R T E M P L A T E ##################################################################### XHTML_PREAMBLE = %{<?xml version="1.0" encoding="%charset%"?> @@ -215,41 +248,41 @@ XHTML_PREAMBLE = %{<?xml version="1.0" encoding="%charset%"?> HEADER = XHTML_PREAMBLE + %{ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> - <title>%title%</title> - <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> - <meta http-equiv="Content-Script-Type" content="text/javascript" /> - <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" /> - <script type="text/javascript"> - // <![CDATA[ - - function popupCode( url ) { - window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400") - } - - function toggleCode( id ) { - if ( document.getElementById ) - elem = document.getElementById( id ); - else if ( document.all ) - elem = eval( "document.all." + id ); - else - return false; - - elemStyle = elem.style; - - if ( elemStyle.display != "block" ) { - elemStyle.display = "block" - } else { - elemStyle.display = "none" - } - - return true; - } - - // Make codeblocks hidden by default - document.writeln( "<style type=\\"text/css\\">div.method-source-code { display: none }</style>" ) - - // ]]> - </script> + <title>%title%</title> + <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> + <meta http-equiv="Content-Script-Type" content="text/javascript" /> + <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" /> + <script type="text/javascript"> + // <![CDATA[ + + function popupCode( url ) { + window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400") + } + + function toggleCode( id ) { + if ( document.getElementById ) + elem = document.getElementById( id ); + else if ( document.all ) + elem = eval( "document.all." + id ); + else + return false; + + elemStyle = elem.style; + + if ( elemStyle.display != "block" ) { + elemStyle.display = "block" + } else { + elemStyle.display = "none" + } + + return true; + } + + // Make codeblocks hidden by default + document.writeln( "<style type=\\"text/css\\">div.method-source-code { display: none }</style>" ) + + // ]]> + </script> </head> <body> @@ -257,129 +290,15 @@ HEADER = XHTML_PREAMBLE + %{ ##################################################################### -### C O N T E X T C O N T E N T T E M P L A T E +### C O N T E X T C O N T E N T T E M P L A T E ##################################################################### CONTEXT_CONTENT = %{ - <div id="contextContent"> -IF:diagram - <div id="diagram"> - %diagram% - </div> -ENDIF:diagram - -IF:description - <div id="description"> - %description% - </div> -ENDIF:description - -IF:requires - <div id="requires-list"> - <h2 class="section-bar">Required files</h2> - - <div class="name-list"> -START:requires - HREF:aref:name: -END:requires - </div> - </div> -ENDIF:requires - -IF:methods - <div id="method-list"> - <h2 class="section-bar">Methods</h2> - - <div class="name-list"> -START:methods - HREF:aref:name: -END:methods - </div> - </div> -ENDIF:methods - -IF:constants - <div id="constants-list"> - <h2 class="section-bar">Constants</h2> - - <div class="name-list"> - <table summary="Constants"> -START:constants - <tr class="top-aligned-row context-row"> - <td class="context-item-name">%name%</td> - <td>=</td> - <td class="context-item-value">%value%</td> - </tr> -IF:desc - <tr class="top-aligned-row context-row"> - <td> </td> - <td colspan="2" class="context-item-desc">%desc%</td> - </tr> -ENDIF:desc -END:constants - </table> - </div> - </div> -ENDIF:constants - -IF:aliases - <div id="aliases-list"> - <h2 class="section-bar">External Aliases</h2> - - <div class="name-list"> - <table summary="aliases"> -START:aliases - <tr class="top-aligned-row context-row"> - <td class="context-item-name">%old_name%</td> - <td>-></td> - <td class="context-item-value">%new_name%</td> - </tr> -IF:desc - <tr class="top-aligned-row context-row"> - <td> </td> - <td colspan="2" class="context-item-desc">%desc%</td> - </tr> -ENDIF:desc -END:aliases - </table> - </div> - </div> -ENDIF:aliases - - -IF:attributes - <div id="attribute-list"> - <h2 class="section-bar">Attributes</h2> - - <div class="name-list"> - <table> -START:attributes - <tr class="top-aligned-row context-row"> - <td class="context-item-name">%name%</td> - <td class="context-item-value"> [%rw%] </td> - <td class="context-item-desc">%a_desc%</td> - </tr> -END:attributes - </table> - </div> - </div> -ENDIF:attributes - -IF:classlist - <div id="class-list"> - <h2 class="section-bar">Classes and Modules</h2> - - %classlist% - </div> -ENDIF:classlist - - </div> - } ##################################################################### -### F O O T E R T E M P L A T E +### F O O T E R T E M P L A T E ##################################################################### FOOTER = %{ <div id="validator-badges"> @@ -392,39 +311,42 @@ FOOTER = %{ ##################################################################### -### F I L E P A G E H E A D E R T E M P L A T E +### F I L E P A G E H E A D E R T E M P L A T E ##################################################################### FILE_PAGE = %{ - <div id="fileHeader"> - <h1>%short_name%</h1> - <table class="header-table"> - <tr class="top-aligned-row"> - <td><strong>Path:</strong></td> - <td>%full_path% + <div id="fileHeader"> + <h1>%short_name%</h1> + <table class="header-table"> + <tr class="top-aligned-row"> + <td><strong>Path:</strong></td> + <td>%full_path% IF:cvsurl - (<a href="%cvsurl%">CVS</a>) + (<a href="%cvsurl%">CVS</a>) ENDIF:cvsurl - </td> - </tr> - <tr class="top-aligned-row"> - <td><strong>Last Update:</strong></td> - <td>%dtm_modified%</td> - </tr> - </table> - </div> + </td> + </tr> + <tr class="top-aligned-row"> + <td><strong>Last Update:</strong></td> + <td>%dtm_modified%</td> + </tr> + </table> + </div> } ##################################################################### -### C L A S S P A G E H E A D E R T E M P L A T E +### C L A S S P A G E H E A D E R T E M P L A T E ##################################################################### CLASS_PAGE = %{ <div id="classHeader"> - <h1>%full_name% <sup class="type-note">(%classmod%)</sup></h1> <table class="header-table"> <tr class="top-aligned-row"> + <td><strong>%classmod%</strong></td> + <td class="class-name-in-header">%full_name%</td> + </tr> + <tr class="top-aligned-row"> <td><strong>In:</strong></td> <td> START:infiles @@ -436,9 +358,9 @@ IF:full_path_url </a> ENDIF:full_path_url IF:cvsurl - (<a href="%cvsurl%">CVS</a>) + (<a href="%cvsurl%">CVS</a>) ENDIF:cvsurl - <br /> + <br /> END:infiles </td> </tr> @@ -463,121 +385,258 @@ ENDIF:parent ##################################################################### -### M E T H O D L I S T T E M P L A T E +### M E T H O D L I S T T E M P L A T E ##################################################################### METHOD_LIST = %{ - <!-- if includes --> + <div id="contextContent"> +IF:diagram + <div id="diagram"> + %diagram% + </div> +ENDIF:diagram + +IF:description + <div id="description"> + %description% + </div> +ENDIF:description + +IF:requires + <div id="requires-list"> + <h3 class="section-bar">Required files</h3> + + <div class="name-list"> +START:requires + HREF:aref:name: +END:requires + </div> + </div> +ENDIF:requires + +IF:toc + <div id="contents-list"> + <h3 class="section-bar">Contents</h3> + <ul> +START:toc + <li><a href="#%href%">%secname%</a></li> +END:toc + </ul> +ENDIF:toc + </div> + +IF:methods + <div id="method-list"> + <h3 class="section-bar">Methods</h3> + + <div class="name-list"> +START:methods + HREF:aref:name: +END:methods + </div> + </div> +ENDIF:methods + + </div> + + + <!-- if includes --> IF:includes - <div id="includes"> - <h2 class="section-bar">Included Modules</h2> + <div id="includes"> + <h3 class="section-bar">Included Modules</h3> - <div id="includes-list"> + <div id="includes-list"> START:includes - <span class="include-name">HREF:aref:name:</span> + <span class="include-name">HREF:aref:name:</span> END:includes - </div> - </div> + </div> + </div> ENDIF:includes +START:sections + <div id="section"> +IF:sectitle + <h2 class="section-title"><a name="%secsequence%">%sectitle%</a></h2> +IF:seccomment + <div class="section-comment"> + %seccomment% + </div> +ENDIF:seccomment +ENDIF:sectitle + +IF:classlist + <div id="class-list"> + <h3 class="section-bar">Classes and Modules</h3> + + %classlist% + </div> +ENDIF:classlist + +IF:constants + <div id="constants-list"> + <h3 class="section-bar">Constants</h3> + + <div class="name-list"> + <table summary="Constants"> +START:constants + <tr class="top-aligned-row context-row"> + <td class="context-item-name">%name%</td> + <td>=</td> + <td class="context-item-value">%value%</td> +IF:desc + <td width="3em"> </td> + <td class="context-item-desc">%desc%</td> +ENDIF:desc + </tr> +END:constants + </table> + </div> + </div> +ENDIF:constants + +IF:aliases + <div id="aliases-list"> + <h3 class="section-bar">External Aliases</h3> + + <div class="name-list"> + <table summary="aliases"> +START:aliases + <tr class="top-aligned-row context-row"> + <td class="context-item-name">%old_name%</td> + <td>-></td> + <td class="context-item-value">%new_name%</td> + </tr> +IF:desc + <tr class="top-aligned-row context-row"> + <td> </td> + <td colspan="2" class="context-item-desc">%desc%</td> + </tr> +ENDIF:desc +END:aliases + </table> + </div> + </div> +ENDIF:aliases + + +IF:attributes + <div id="attribute-list"> + <h3 class="section-bar">Attributes</h3> + + <div class="name-list"> + <table> +START:attributes + <tr class="top-aligned-row context-row"> + <td class="context-item-name">%name%</td> + <td class="context-item-value"> [%rw%] </td> + <td class="context-item-desc">%a_desc%</td> + </tr> +END:attributes + </table> + </div> + </div> +ENDIF:attributes + - <!-- if method_list --> + + <!-- if method_list --> IF:method_list - <div id="methods"> + <div id="methods"> START:method_list IF:methods - <h2 class="section-bar">%type% %category% methods</h2> + <h3 class="section-bar">%type% %category% methods</h3> START:methods - <div id="method-%aref%" class="method-detail"> - <a name="%aref%"></a> + <div id="method-%aref%" class="method-detail"> + <a name="%aref%"></a> - <div class="method-heading"> + <div class="method-heading"> IF:codeurl - <a href="%codeurl%" target="Code" class="method-signature" - onclick="popupCode('%codeurl%');return false;"> + <a href="%codeurl%" target="Code" class="method-signature" + onclick="popupCode('%codeurl%');return false;"> ENDIF:codeurl IF:sourcecode - <a href="#%aref%" class="method-signature"> + <a href="#%aref%" class="method-signature"> ENDIF:sourcecode IF:callseq - <span class="method-name">%callseq%</span> + <span class="method-name">%callseq%</span> ENDIF:callseq IFNOT:callseq - <span class="method-name">%name%</span><span class="method-args">%params%</span> + <span class="method-name">%name%</span><span class="method-args">%params%</span> ENDIF:callseq IF:codeurl - </a> + </a> ENDIF:codeurl IF:sourcecode - </a> + </a> ENDIF:sourcecode - </div> - - <div class="method-description"> + </div> + + <div class="method-description"> IF:m_desc - %m_desc% + %m_desc% ENDIF:m_desc IF:sourcecode - <p><a class="source-toggle" href="#" - onclick="toggleCode('%aref%-source');return false;">[Source]</a></p> - <div class="method-source-code" id="%aref%-source"> + <p><a class="source-toggle" href="#" + onclick="toggleCode('%aref%-source');return false;">[Source]</a></p> + <div class="method-source-code" id="%aref%-source"> <pre> %sourcecode% </pre> - </div> + </div> ENDIF:sourcecode - </div> - </div> + </div> + </div> END:methods ENDIF:methods END:method_list - </div> + </div> ENDIF:method_list +END:sections } ##################################################################### -### B O D Y T E M P L A T E +### B O D Y T E M P L A T E ##################################################################### BODY = HEADER + %{ !INCLUDE! <!-- banner header --> - <div id="bodyContent"> + <div id="bodyContent"> -} + CONTEXT_CONTENT + METHOD_LIST + %{ +} + METHOD_LIST + %{ - </div> + </div> } + FOOTER ##################################################################### -### S O U R C E C O D E T E M P L A T E +### S O U R C E C O D E T E M P L A T E ##################################################################### SRC_PAGE = XHTML_PREAMBLE + %{ <html> <head> - <title>%title%</title> - <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> - <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" /> + <title>%title%</title> + <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> + <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" /> </head> <body class="standalone-code"> - <pre>%code%</pre> + <pre>%code%</pre> </body> </html> } ##################################################################### -### I N D E X F I L E T E M P L A T E S +### I N D E X F I L E T E M P L A T E S ##################################################################### FR_INDEX_BODY = %{ @@ -592,19 +651,19 @@ FILE_INDEX = XHTML_PREAMBLE + %{ --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> - <title>%list_title%</title> - <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> - <link rel="stylesheet" href="%style_url%" type="text/css" /> - <base target="docwin" /> + <title>%list_title%</title> + <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> + <link rel="stylesheet" href="%style_url%" type="text/css" /> + <base target="docwin" /> </head> <body> <div id="index"> - <h1 class="section-bar">%list_title%</h1> - <div id="index-entries"> + <h1 class="section-bar">%list_title%</h1> + <div id="index-entries"> START:entries - <a href="%href%">%name%</a><br /> + <a href="%href%">%name%</a><br /> END:entries - </div> + </div> </div> </body> </html> @@ -625,8 +684,8 @@ INDEX = %{<?xml version="1.0" encoding="%charset%"?> --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> - <title>%title%</title> - <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> + <title>%title%</title> + <meta http-equiv="Content-Type" content="text/html; charset=%charset%" /> </head> <frameset rows="20%, 80%"> <frameset cols="25%,35%,45%"> @@ -641,7 +700,7 @@ INDEX = %{<?xml version="1.0" encoding="%charset%"?> - end # module Page + end # module Page end # class RDoc require 'rdoc/generators/template/html/one_page_html' |