require 'rdoc/generator/html' require 'rdoc/generator/html/one_page_html' ## # = CSS2 RDoc HTML template # # This is a template for RDoc that uses XHTML 1.0 Transitional and dictates a # bit more of the appearance of the output to cascading stylesheets than the # default. It was designed for clean inline code display, and uses DHTMl to # toggle the visbility of each method's source with each click on the '[source]' # link. # # == Authors # # * Michael Granger # # Copyright (c) 2002, 2003 The FaerieMUD Consortium. Some rights reserved. # # This work is licensed under the Creative Commons Attribution License. To view # a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or # send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California # 94305, USA. module RDoc::Generator::HTML::HTML FONTS = "Verdana,Arial,Helvetica,sans-serif" STYLE = <<-EOF 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: 150%; } h2,h3,h4 { margin-top: 1em; } a { background: #eef; color: #039; text-decoration: none; } 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; } /* 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: 90%; } div#index a { margin-left: 0.7em; } div#index .section-bar { margin-left: 0px; padding-left: 0.7em; background: #ccc; font-size: small; } div#classHeader, div#fileHeader { width: auto; 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#fileHeader a { background: inherit; color: white; } div#classHeader td, div#fileHeader td { background: inherit; color: white; } div#fileHeader { background: #057; } div#classHeader { background: #048; } .class-name-in-header { font-size: 180%; font-weight: bold; } div#bodyContent { padding: 0 1.5em 0 1.5em; } div#description { padding: 0.5em 1.5em; background: #efefef; border: 1px dotted #999; } div#description h1,h2,h3,h4,h5,h6 { color: #125;; background: transparent; } div#validator-badges { text-align: center; } div#validator-badges img { border: 0; } div#copyright { color: #333; background: #efefef; font: 0.75em sans-serif; margin-top: 5em; margin-bottom: 0; padding: 0.5em 2em; } /* === Classes =================================== */ table.header-table { color: white; font-size: small; } .type-note { font-size: small; color: #DEDEDE; } .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: 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: small; color: #448; } .context-item-desc { color: #333; padding-left: 2em; } /* --- Method classes -------------------------- */ .method-detail { background: #efefef; padding: 0; margin-top: 0.5em; margin-bottom: 1em; border: 1px dotted #ccc; } .method-heading { 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; } .method-args { font-style: italic; } .method-description { padding: 0 0.5em 0 0.5em; } /* --- Source code sections -------------------- */ a.source-toggle { font-size: 90%; } div.method-source-code { background: #262626; color: #ffdead; margin: 1em; padding: 0.5em; border: 1px dashed #999; overflow: scroll; } div.method-source-code pre { color: #ffdead; overflow: visible; } /* --- Ruby keyword styles --------------------- */ .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-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; } EOF ##################################################################### ### H E A D E R T E M P L A T E ##################################################################### XHTML_PREAMBLE = <<-EOF "?> EOF HEADER = XHTML_PREAMBLE + <<-EOF <%= values["title"] %> " /> " type="text/css" media="screen" /> EOF ##################################################################### ### C O N T E X T C O N T E N T T E M P L A T E ##################################################################### CONTEXT_CONTENT = %{ } ##################################################################### ### F O O T E R T E M P L A T E ##################################################################### FOOTER = <<-EOF

[Validate]

EOF ##################################################################### ### F I L E P A G E H E A D E R T E M P L A T E ##################################################################### FILE_PAGE = <<-EOF

<%= values["short_name"] %>

Path: <%= values["full_path"] %> <% if values["cvsurl"] then %>  (">CVS) <% end %>
Last Update: <%= values["dtm_modified"] %>
EOF ##################################################################### ### 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 = <<-EOF
<% if values["parent"] then %> <% end %>
<%= values["classmod"] %> <%= values["full_name"] %>
In: <% values["infiles"].each do |infiles| %> <% if infiles["full_path_url"] then %> "> <% end %> <%= infiles["full_path"] %> <% if infiles["full_path_url"] then %> <% end %> <% if infiles["cvsurl"] then %>  (">CVS) <% end %>
<% end # values["infiles"] %>
Parent: <% if values["par_url"] then %> "> <% end %> <%= values["parent"] %> <% if values["par_url"] then %> <% end %>
EOF ##################################################################### ### M E T H O D L I S T T E M P L A T E ##################################################################### METHOD_LIST = <<-EOF
<% if values["diagram"] then %>
<%= values["diagram"] %>
<% end %> <% if values["description"] then %>
<%= values["description"] %>
<% end %> <% if values["requires"] then %>

Required files

<% values["requires"].each do |requires| %> <%= href requires["aref"], requires["name"] %>   <% end # values["requires"] %>
<% end %> <% if values["toc"] then %>

Contents

<% end %>
<% if values["methods"] then %>

Methods

<% values["methods"].each do |methods| %> <%= href methods["aref"], methods["name"] %>   <% end # values["methods"] %>
<% end %>
<% if values["includes"] then %>

Included Modules

<% values["includes"].each do |includes| %> <%= href includes["aref"], includes["name"] %> <% end # values["includes"] %>
<% end %> <% values["sections"].each do |sections| %>
<% if sections["sectitle"] then %>

"><%= sections["sectitle"] %>

<% if sections["seccomment"] then %>
<%= sections["seccomment"] %>
<% end %> <% end %> <% if values["classlist"] then %>

Classes and Modules

<%= values["classlist"] %>
<% end %> <% if values["constants"] then %>

Constants

<% values["constants"].each do |constants| %> <% if values["desc"] then %> <% end %> <% end # values["constants"] %>
<%= constants["name"] %> = <%= constants["value"] %>  <%= constants["desc"] %>
<% end %> <% if values["aliases"] then %>

External Aliases

<% values["aliases"].each do |aliases| $stderr.puts({ :aliases => aliases }.inspect) %> <% if values["desc"] then %> <% end %> <% end # values["aliases"] %>
<%= values["old_name"] %> -> <%= values["new_name"] %>
  <%= values["desc"] %>
<% end %> <% if values["attributes"] then %>

Attributes

<% values["attributes"].each do |attributes| $stderr.puts({ :attributes => attributes }.inspect) %> <% if values["rw"] then %> <% end %> <% unless values["rw"] then %> <% end %> <% end # values["attributes"] %>
<%= values["name"] %> [<%= values["rw"] %>]   <%= values["a_desc"] %>
<% end %> <% if sections["method_list"] then %>
<% sections["method_list"].each do |method_list| %> <% if method_list["methods"] then %>

<%= method_list["type"] %> <%= method_list["category"] %> methods

<% method_list["methods"].each do |methods| %> <% end # method_list["methods"] %> <% end %> <% end # sections["method_list"] %>
<% end %> <% end # values["sections"] %> EOF ##################################################################### ### B O D Y T E M P L A T E ##################################################################### BODY = HEADER + %{ <%= template_include %>
} + METHOD_LIST + %{
} + FOOTER ##################################################################### ### S O U R C E C O D E T E M P L A T E ##################################################################### SRC_PAGE = XHTML_PREAMBLE + <<-EOF <%= values["title"] %> " /> " type="text/css" media="screen" />
<%= values["code"] %>
EOF ##################################################################### ### I N D E X F I L E T E M P L A T E S ##################################################################### FR_INDEX_BODY = %{ <%= template_include %> } FILE_INDEX = XHTML_PREAMBLE + <<-EOF <%= values["list_title"] %> " /> " type="text/css" />

<%= values["list_title"] %>

<% values["entries"].each do |entries| %> "><%= entries["name"] %>
<% end # values["entries"] %>
EOF CLASS_INDEX = FILE_INDEX METHOD_INDEX = FILE_INDEX INDEX = <<-EOF "?> <%= values["title"] %> " /> " name="docwin" /> EOF end