From 6db079b0e7bfb3014f32bfb4e9ca5ddeed5b3bcf Mon Sep 17 00:00:00 2001 From: drbrain Date: Fri, 18 Jul 2008 00:46:16 +0000 Subject: Import RDoc r101. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rdoc/generator/html/frameless.rb | 795 +++++++++++++++++++++++++++++++++++ 1 file changed, 795 insertions(+) create mode 100644 lib/rdoc/generator/html/frameless.rb (limited to 'lib/rdoc/generator/html/frameless.rb') diff --git a/lib/rdoc/generator/html/frameless.rb b/lib/rdoc/generator/html/frameless.rb new file mode 100644 index 000000000..2af890ce0 --- /dev/null +++ b/lib/rdoc/generator/html/frameless.rb @@ -0,0 +1,795 @@ +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::FRAMELESS + + FRAMELESS = true + + FONTS = "Verdana,Arial,Helvetica,sans-serif" + + STYLE = <<-EOF +body { + font-family: #{FONTS}; + 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; +} + +:link, :visited { + background: #eef; + color: #039; + text-decoration: none; +} + +:link:hover, :visited:hover { + background: #039; + color: #eef; +} + +/* Override the base stylesheet's Anchor inside a table cell */ +td > :link, td > :visited { + background: transparent; + color: #039; + text-decoration: none; +} + +/* and inside a section title */ +.section-title > :link, .section-title > :visited { + background: transparent; + color: #eee; + text-decoration: none; +} + +/* === Structural elements =================================== */ + +.index { + margin: 0; + margin-left: -40px; + padding: 0; + font-size: 90%; +} + +.index :link, .index :visited { + margin-left: 0.7em; +} + +.index .section-bar { + margin-left: 0px; + padding-left: 0.7em; + background: #ccc; + font-size: small; +} + +#classHeader, #fileHeader { + width: auto; + color: white; + padding: 0.5em 1.5em 0.5em 1.5em; + margin: 0; + margin-left: -40px; + border-bottom: 3px solid #006; +} + +#classHeader :link, #fileHeader :link, +#classHeader :visited, #fileHeader :visited { + background: inherit; + color: white; +} + +#classHeader td, #fileHeader td { + background: inherit; + color: white; +} + +#fileHeader { + background: #057; +} + +#classHeader { + background: #048; +} + +.class-name-in-header { + font-size: 180%; + font-weight: bold; +} + +#bodyContent { + padding: 0 1.5em 0 1.5em; +} + +#description { + padding: 0.5em 1.5em; + background: #efefef; + border: 1px dotted #999; +} + +#description h1, #description h2, #description h3, +#description h4, #description h5, #description h6 { + color: #125; + background: transparent; +} + +#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 -------------------- */ + +:link.source-toggle, :visited.source-toggle { + font-size: 90%; +} + +div.method-source-code { + background: #262626; + color: #ffdead; + margin: 1em; + padding: 0.5em; + border: 1px dashed #999; + overflow: hidden; +} + +div.method-source-code pre { + color: #ffdead; + overflow: hidden; +} + +/* --- 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 + + ## + # Header template + + XHTML_PREAMBLE = <<-EOF +"?> + + EOF + + HEADER = XHTML_PREAMBLE + <<-EOF + + + <%= values["title"] %> + " /> + + " type="text/css" media="screen" /> + + + + +EOF + + ## + # Context content template + + CONTEXT_CONTENT = %{ +} + + ## + # Footer template + + FOOTER = <<-EOF +
+ + + + + + EOF + + ## + # File page header template + + FILE_PAGE = <<-EOF +
+

<%= values["short_name"] %>

+ + + + + + + + + + + +
Path:<%= values["full_path"] %> +<% if values["cvsurl"] then %> +  (">CVS) +<% end %> +
Last Update:<%= values["dtm_modified"] %>
+
+ EOF + + ## + # Class page header template + + 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 + + ## + # Method list template + + 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| %> +
" class="method-detail"> + "> + + + +
+<% if methods["m_desc"] then %> + <%= methods["m_desc"] %> +<% end %> +<% if methods["sourcecode"] then %> +

-source');return false;">[Source]

+
-source"> +
+<%= methods["sourcecode"] %>
+
+
+<% end %> +
+
+ +<% end %><%# method_list["methods"] %> +<% end %> +<% end %><%# sections["method_list"] %> + +
+<% end %> +<% end %><%# values["sections"] %> + EOF + + ## + # Body template + + BODY = HEADER + %{ + +<%= template_include %> + +
+ +} + METHOD_LIST + %{ + +
+ +} + FOOTER + + ## + # Source code template + + SRC_PAGE = XHTML_PREAMBLE + <<-EOF + + + <%= values["title"] %> + " /> + " type="text/css" media="screen" /> + + +
<%= values["code"] %>
+ + + EOF + + ## + # Index file templates + + 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 + -- cgit