mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Import RDoc r101.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
0af4a490b4
commit
fd25f74d64
45 changed files with 6952 additions and 4397 deletions
|
@ -82,7 +82,7 @@ class RDoc::Generator::HTML
|
|||
@classes = []
|
||||
|
||||
write_style_sheet
|
||||
gen_sub_directories()
|
||||
gen_sub_directories
|
||||
build_indices
|
||||
generate_html
|
||||
end
|
||||
|
@ -157,6 +157,7 @@ class RDoc::Generator::HTML
|
|||
# the individual descriptions for files and classes
|
||||
gen_into(@files)
|
||||
gen_into(@classes)
|
||||
|
||||
# and the index files
|
||||
gen_file_index
|
||||
gen_class_index
|
||||
|
@ -168,14 +169,21 @@ class RDoc::Generator::HTML
|
|||
end
|
||||
|
||||
def gen_into(list)
|
||||
@file_list ||= index_to_links @files
|
||||
@class_list ||= index_to_links @classes
|
||||
@method_list ||= index_to_links RDoc::Generator::Method.all_methods
|
||||
|
||||
list.each do |item|
|
||||
if item.document_self
|
||||
op_file = item.path
|
||||
FileUtils.mkdir_p(File.dirname(op_file))
|
||||
open(op_file, "w") { |file| item.write_on(file) }
|
||||
next unless item.document_self
|
||||
|
||||
op_file = item.path
|
||||
|
||||
FileUtils.mkdir_p File.dirname(op_file)
|
||||
|
||||
open op_file, 'w' do |io|
|
||||
item.write_on io, @file_list, @class_list, @method_list
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def gen_file_index
|
||||
|
@ -221,9 +229,23 @@ class RDoc::Generator::HTML
|
|||
# line.
|
||||
|
||||
def gen_main_index
|
||||
template = RDoc::TemplatePage.new @template::INDEX
|
||||
if @template.const_defined? :FRAMELESS then
|
||||
main = @files.find do |file|
|
||||
@main_page == file.name
|
||||
end
|
||||
|
||||
if main.nil? then
|
||||
main = @classes.find do |klass|
|
||||
main_page == klass.context.full_name
|
||||
end
|
||||
end
|
||||
else
|
||||
main = RDoc::TemplatePage.new @template::INDEX
|
||||
end
|
||||
|
||||
open 'index.html', 'w' do |f|
|
||||
style_url = style_url '', @options.css
|
||||
|
||||
classes = @classes.sort.map { |klass| klass.value_hash }
|
||||
|
||||
values = {
|
||||
|
@ -237,18 +259,31 @@ class RDoc::Generator::HTML
|
|||
|
||||
values['inline_source'] = @options.inline_source
|
||||
|
||||
template.write_html_on f, values
|
||||
if main.respond_to? :write_on then
|
||||
main.write_on f, @file_list, @class_list, @method_list, values
|
||||
else
|
||||
main.write_html_on f, values
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def index_to_links(collection)
|
||||
collection.sort.map do |f|
|
||||
next unless f.document_self
|
||||
{ "href" => f.path, "name" => f.index_name }
|
||||
end.compact
|
||||
end
|
||||
|
||||
##
|
||||
# Returns the url of the main page
|
||||
|
||||
def main_url
|
||||
@main_page = @options.main_page
|
||||
@main_page_ref = nil
|
||||
if @main_page
|
||||
|
||||
if @main_page then
|
||||
@main_page_ref = RDoc::Generator::AllReferences[@main_page]
|
||||
|
||||
if @main_page_ref then
|
||||
@main_page_path = @main_page_ref.path
|
||||
else
|
||||
|
@ -351,15 +386,8 @@ class RDoc::Generator::HTMLInOne < RDoc::Generator::HTML
|
|||
end
|
||||
|
||||
def gen_an_index(collection, title)
|
||||
res = []
|
||||
collection.sort.each do |f|
|
||||
if f.document_self
|
||||
res << { "href" => f.path, "name" => f.index_name }
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
"entries" => res,
|
||||
"entries" => index_to_links(collection),
|
||||
'list_title' => title,
|
||||
'index_url' => main_url,
|
||||
}
|
||||
|
@ -367,4 +395,3 @@ class RDoc::Generator::HTMLInOne < RDoc::Generator::HTML
|
|||
|
||||
end
|
||||
|
||||
|
||||
|
|
795
lib/rdoc/generator/html/frameless.rb
Normal file
795
lib/rdoc/generator/html/frameless.rb
Normal file
|
@ -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 <ged@FaerieMUD.org>
|
||||
#
|
||||
# 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
|
||||
<?xml version="1.0" encoding="<%= values["charset"] %>"?>
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
EOF
|
||||
|
||||
HEADER = XHTML_PREAMBLE + <<-EOF
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<title><%= values["title"] %></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>" />
|
||||
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
||||
<link rel="stylesheet" href="<%= values["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>
|
||||
EOF
|
||||
|
||||
##
|
||||
# Context content template
|
||||
|
||||
CONTEXT_CONTENT = %{
|
||||
}
|
||||
|
||||
##
|
||||
# Footer template
|
||||
|
||||
FOOTER = <<-EOF
|
||||
<div id="popupmenu" class="index">
|
||||
<ul>
|
||||
<li class="index-entries section-bar">Classes
|
||||
<ul>
|
||||
<% values["class_list"].each do |klass| %>
|
||||
<li><a href="<%= klass["href"] %>"><%= klass["name"] %></a>
|
||||
<% end %>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="index-entries section-bar">Methods
|
||||
<ul>
|
||||
<% values["method_list"].each do |file| %>
|
||||
<li><a href="<%= file["href"] %>"><%= file["name"] %></a>
|
||||
<% end %>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="index-entries section-bar">Files
|
||||
<ul>
|
||||
<% values["file_list"].each do |file| %>
|
||||
<li><a href="<%= file["href"] %>"><%= file["name"] %></a>
|
||||
<% end %>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
|
||||
##
|
||||
# File page header template
|
||||
|
||||
FILE_PAGE = <<-EOF
|
||||
<div id="fileHeader">
|
||||
<h1><%= values["short_name"] %></h1>
|
||||
|
||||
<table class="header-table">
|
||||
<tr class="top-aligned-row">
|
||||
<td><strong>Path:</strong></td>
|
||||
<td><%= values["full_path"] %>
|
||||
<% if values["cvsurl"] then %>
|
||||
(<a href="<%= values["cvsurl"] %>"><acronym title="Concurrent Versioning System">CVS</acronym></a>)
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="top-aligned-row">
|
||||
<td><strong>Last Update:</strong></td>
|
||||
<td><%= values["dtm_modified"] %></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
EOF
|
||||
|
||||
##
|
||||
# Class page header template
|
||||
|
||||
CLASS_PAGE = <<-EOF
|
||||
<div id="classHeader">
|
||||
<table class="header-table">
|
||||
<tr class="top-aligned-row">
|
||||
<td><strong><%= values["classmod"] %></strong></td>
|
||||
<td class="class-name-in-header"><%= values["full_name"] %></td>
|
||||
</tr>
|
||||
|
||||
<tr class="top-aligned-row">
|
||||
<td><strong>In:</strong></td>
|
||||
<td>
|
||||
<% values["infiles"].each do |infiles| %>
|
||||
<% if infiles["full_path_url"] then %>
|
||||
<a href="<%= infiles["full_path_url"] %>">
|
||||
<% end %>
|
||||
<%= infiles["full_path"] %>
|
||||
<% if infiles["full_path_url"] then %>
|
||||
</a>
|
||||
<% end %>
|
||||
<% if infiles["cvsurl"] then %>
|
||||
(<a href="<%= infiles["cvsurl"] %>"><acronym title="Concurrent Versioning System">CVS</acronym></a>)
|
||||
<% end %>
|
||||
<br />
|
||||
<% end %><%# values["infiles"] %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<% if values["parent"] then %>
|
||||
<tr class="top-aligned-row">
|
||||
<td><strong>Parent:</strong></td>
|
||||
<td>
|
||||
<% if values["par_url"] then %>
|
||||
<a href="<%= values["par_url"] %>">
|
||||
<% end %>
|
||||
<%= values["parent"] %>
|
||||
<% if values["par_url"] then %>
|
||||
</a>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</table>
|
||||
</div>
|
||||
EOF
|
||||
|
||||
##
|
||||
# Method list template
|
||||
|
||||
METHOD_LIST = <<-EOF
|
||||
|
||||
<div id="contextContent">
|
||||
<% if values["diagram"] then %>
|
||||
<div id="diagram">
|
||||
<%= values["diagram"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if values["description"] then %>
|
||||
<div id="description">
|
||||
<%= values["description"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if values["requires"] then %>
|
||||
<div id="requires-list">
|
||||
<h3 class="section-bar">Required files</h3>
|
||||
|
||||
<div class="name-list">
|
||||
<% values["requires"].each do |requires| %>
|
||||
<%= href requires["aref"], requires["name"] %>
|
||||
<% end %><%# values["requires"] %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if values["toc"] then %>
|
||||
<div id="contents-list">
|
||||
<h3 class="section-bar">Contents</h3>
|
||||
<ul>
|
||||
<% values["toc"].each do |toc| %>
|
||||
<li><a href="#<%= values["href"] %>"><%= values["secname"] %></a></li>
|
||||
<% end %><%# values["toc"] %>
|
||||
</ul>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% if values["methods"] then %>
|
||||
<div id="method-list">
|
||||
<h3 class="section-bar">Methods</h3>
|
||||
|
||||
<div class="name-list">
|
||||
<% values["methods"].each do |methods| %>
|
||||
<%= href methods["aref"], methods["name"] %>
|
||||
<% end %><%# values["methods"] %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- if includes -->
|
||||
<% if values["includes"] then %>
|
||||
<div id="includes">
|
||||
<h3 class="section-bar">Included Modules</h3>
|
||||
|
||||
<div id="includes-list">
|
||||
<% values["includes"].each do |includes| %>
|
||||
<span class="include-name"><%= href includes["aref"], includes["name"] %></span>
|
||||
<% end %><%# values["includes"] %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% values["sections"].each do |sections| %>
|
||||
<div id="section">
|
||||
<% if sections["sectitle"] then %>
|
||||
<h2 class="section-title"><a name="<%= sections["secsequence"] %>"><%= sections["sectitle"] %></a></h2>
|
||||
<% if sections["seccomment"] then %>
|
||||
<div class="section-comment">
|
||||
<%= sections["seccomment"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% if values["classlist"] then %>
|
||||
<div id="class-list">
|
||||
<h3 class="section-bar">Classes and Modules</h3>
|
||||
|
||||
<%= values["classlist"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if values["constants"] then %>
|
||||
<div id="constants-list">
|
||||
<h3 class="section-bar">Constants</h3>
|
||||
|
||||
<div class="name-list">
|
||||
<table summary="Constants">
|
||||
<% values["constants"].each do |constants| %>
|
||||
<tr class="top-aligned-row context-row">
|
||||
<td class="context-item-name"><%= constants["name"] %></td>
|
||||
<td>=</td>
|
||||
<td class="context-item-value"><%= constants["value"] %></td>
|
||||
<% if values["desc"] then %>
|
||||
<td width="3em"> </td>
|
||||
<td class="context-item-desc"><%= constants["desc"] %></td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %><%# values["constants"] %>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if values["aliases"] then %>
|
||||
<div id="aliases-list">
|
||||
<h3 class="section-bar">External Aliases</h3>
|
||||
|
||||
<div class="name-list">
|
||||
<table summary="aliases">
|
||||
<% values["aliases"].each do |aliases| $stderr.puts({ :aliases => aliases }.inspect) %>
|
||||
<tr class="top-aligned-row context-row">
|
||||
<td class="context-item-name"><%= values["old_name"] %></td>
|
||||
<td>-></td>
|
||||
<td class="context-item-value"><%= values["new_name"] %></td>
|
||||
</tr>
|
||||
<% if values["desc"] then %>
|
||||
<tr class="top-aligned-row context-row">
|
||||
<td> </td>
|
||||
<td colspan="2" class="context-item-desc"><%= values["desc"] %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% end %><%# values["aliases"] %>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
||||
<% if values["attributes"] then %>
|
||||
<div id="attribute-list">
|
||||
<h3 class="section-bar">Attributes</h3>
|
||||
|
||||
<div class="name-list">
|
||||
<table>
|
||||
<% values["attributes"].each do |attributes| $stderr.puts({ :attributes => attributes }.inspect) %>
|
||||
<tr class="top-aligned-row context-row">
|
||||
<td class="context-item-name"><%= values["name"] %></td>
|
||||
<% if values["rw"] then %>
|
||||
<td class="context-item-value"> [<%= values["rw"] %>] </td>
|
||||
<% end %>
|
||||
<% unless values["rw"] then %>
|
||||
<td class="context-item-value"> </td>
|
||||
<% end %>
|
||||
<td class="context-item-desc"><%= values["a_desc"] %></td>
|
||||
</tr>
|
||||
<% end %><%# values["attributes"] %>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<!-- if method_list -->
|
||||
<% if sections["method_list"] then %>
|
||||
<div id="methods">
|
||||
<% sections["method_list"].each do |method_list| %>
|
||||
<% if method_list["methods"] then %>
|
||||
<h3 class="section-bar"><%= method_list["type"] %> <%= method_list["category"] %> methods</h3>
|
||||
|
||||
<% method_list["methods"].each do |methods| %>
|
||||
<div id="method-<%= methods["aref"] %>" class="method-detail">
|
||||
<a name="<%= methods["aref"] %>"></a>
|
||||
|
||||
<div class="method-heading">
|
||||
<% if methods["codeurl"] then %>
|
||||
<a href="<%= methods["codeurl"] %>" target="Code" class="method-signature"
|
||||
onclick="popupCode('<%= methods["codeurl"] %>');return false;">
|
||||
<% end %>
|
||||
<% if methods["sourcecode"] then %>
|
||||
<a href="#<%= methods["aref"] %>" class="method-signature">
|
||||
<% end %>
|
||||
<% if methods["callseq"] then %>
|
||||
<span class="method-name"><%= methods["callseq"] %></span>
|
||||
<% end %>
|
||||
<% unless methods["callseq"] then %>
|
||||
<span class="method-name"><%= methods["name"] %></span><span class="method-args"><%= methods["params"] %></span>
|
||||
<% end %>
|
||||
<% if methods["codeurl"] then %>
|
||||
</a>
|
||||
<% end %>
|
||||
<% if methods["sourcecode"] then %>
|
||||
</a>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
<% if methods["m_desc"] then %>
|
||||
<%= methods["m_desc"] %>
|
||||
<% end %>
|
||||
<% if methods["sourcecode"] then %>
|
||||
<p><a class="source-toggle" href="#"
|
||||
onclick="toggleCode('<%= methods["aref"] %>-source');return false;">[Source]</a></p>
|
||||
<div class="method-source-code" id="<%= methods["aref"] %>-source">
|
||||
<pre>
|
||||
<%= methods["sourcecode"] %>
|
||||
</pre>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end %><%# method_list["methods"] %>
|
||||
<% end %>
|
||||
<% end %><%# sections["method_list"] %>
|
||||
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %><%# values["sections"] %>
|
||||
EOF
|
||||
|
||||
##
|
||||
# Body template
|
||||
|
||||
BODY = HEADER + %{
|
||||
|
||||
<%= template_include %> <!-- banner header -->
|
||||
|
||||
<div id="bodyContent">
|
||||
|
||||
} + METHOD_LIST + %{
|
||||
|
||||
</div>
|
||||
|
||||
} + FOOTER
|
||||
|
||||
##
|
||||
# Source code template
|
||||
|
||||
SRC_PAGE = XHTML_PREAMBLE + <<-EOF
|
||||
<html>
|
||||
<head>
|
||||
<title><%= values["title"] %></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>" />
|
||||
<link rel="stylesheet" href="<%= values["style_url"] %>" type="text/css" media="screen" />
|
||||
</head>
|
||||
<body class="standalone-code">
|
||||
<pre><%= values["code"] %></pre>
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
|
||||
##
|
||||
# Index file templates
|
||||
|
||||
FR_INDEX_BODY = %{
|
||||
<%= template_include %>
|
||||
}
|
||||
|
||||
FILE_INDEX = XHTML_PREAMBLE + <<-EOF
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<title><%= values["list_title"] %></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>" />
|
||||
<link rel="stylesheet" href="<%= values["style_url"] %>" type="text/css" />
|
||||
<base target="docwin" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="index">
|
||||
<h1 class="section-bar"><%= values["list_title"] %></h1>
|
||||
<div class="index-entries">
|
||||
<% values["entries"].each do |entries| %>
|
||||
<a href="<%= entries["href"] %>"><%= entries["name"] %></a><br />
|
||||
<% end %><%# values["entries"] %>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
|
||||
CLASS_INDEX = FILE_INDEX
|
||||
METHOD_INDEX = FILE_INDEX
|
||||
|
||||
INDEX = <<-EOF
|
||||
<?xml version="1.0" encoding="<%= values["charset"] %>"?>
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<title><%= values["title"] %></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=<%= values["charset"] %>" />
|
||||
</head>
|
||||
<frameset rows="20%, 80%">
|
||||
<frameset cols="45%,55%">
|
||||
<frame src="fr_class_index.html" name="Classes" />
|
||||
<frame src="fr_method_index.html" name="Methods" />
|
||||
</frameset>
|
||||
<frame src="<%= values["initial_page"] %>" name="docwin" />
|
||||
</frameset>
|
||||
</html>
|
||||
EOF
|
||||
|
||||
end
|
||||
|
|
@ -141,7 +141,7 @@ td { font-family: Verdana, Arial, Helvetica, sans-serif;
|
|||
<div class="name-list">
|
||||
<% values["requires"].each do |requires| %>
|
||||
<%= href requires["aref"], requires["name"] %>
|
||||
<% end # values["requires"] %>
|
||||
<% end %><%# values["requires"] %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
@ -156,10 +156,10 @@ td { font-family: Verdana, Arial, Helvetica, sans-serif;
|
|||
<div class="name-list">
|
||||
<% method_list["methods"].each do |methods| %>
|
||||
<a href="<%= methods["codeurl"] %>" target="source"><%= methods["name"] %></a>
|
||||
<% end # values["methods"] %>
|
||||
<% end %><%# values["methods"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end # values["method_list"] %>
|
||||
<% end %><%# values["method_list"] %>
|
||||
<% end %>
|
||||
|
||||
<% if sections["attributes"] then %>
|
||||
|
@ -178,10 +178,10 @@ td { font-family: Verdana, Arial, Helvetica, sans-serif;
|
|||
<td class="attr-name"><%= attributes["name"] %></td>
|
||||
<td><%= attributes["a_desc"] %></td>
|
||||
</tr>
|
||||
<% end # values["attributes"] %>
|
||||
<% end %><%# values["attributes"] %>
|
||||
</table>
|
||||
<% end %>
|
||||
<% end # values["sections"] %>
|
||||
<% end %><%# values["sections"] %>
|
||||
<% end %>
|
||||
|
||||
<% if values["classlist"] then %>
|
||||
|
@ -237,7 +237,7 @@ td { font-family: Verdana, Arial, Helvetica, sans-serif;
|
|||
<% if infiles["cvsurl"] then %>
|
||||
(<a href="<%= infiles["cvsurl"] %>"><acronym title="Concurrent Versioning System">CVS</acronym></a>)
|
||||
<% end %>
|
||||
<% end # values["infiles"] %>
|
||||
<% end %><%# values["infiles"] %>
|
||||
</td>
|
||||
</tr>
|
||||
<% if values["parent"] then %>
|
||||
|
@ -266,7 +266,7 @@ td { font-family: Verdana, Arial, Helvetica, sans-serif;
|
|||
<div class="name-list">
|
||||
<% values["includes"].each do |includes| %>
|
||||
<span class="method-name"><%= href includes["aref"], includes["name"] %></span>
|
||||
<% end # values["includes"] %>
|
||||
<% end %><%# values["includes"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
@ -293,11 +293,11 @@ td { font-family: Verdana, Arial, Helvetica, sans-serif;
|
|||
<%= method_list["m_desc"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end # method_list["methods"] %>
|
||||
<% end %><%# method_list["methods"] %>
|
||||
<% end %>
|
||||
<% end # sections["method_list"] %>
|
||||
<% end %><%# sections["method_list"] %>
|
||||
<% end %>
|
||||
<% end # values["sections"] %>
|
||||
<% end %><%# values["sections"] %>
|
||||
<% end %>
|
||||
EOF
|
||||
|
||||
|
@ -365,7 +365,7 @@ div.banner {
|
|||
<div class="banner"><%= values["list_title"] %></div>
|
||||
<% values["entries"].each do |entries| %>
|
||||
<a href="<%= entries["href"] %>"><%= entries["name"] %></a><br />
|
||||
<% end # values["entries"] %>
|
||||
<% end %><%# values["entries"] %>
|
||||
</body></html>
|
||||
EOF
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ require 'rdoc/generator/html/one_page_html'
|
|||
# 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 visibility of each method's source with each click on the '[source]'
|
||||
# link.
|
||||
# toggle the visibility of each method's source with each click on the
|
||||
# '[source]' link.
|
||||
#
|
||||
# == Authors
|
||||
#
|
||||
|
@ -16,10 +16,10 @@ require 'rdoc/generator/html/one_page_html'
|
|||
#
|
||||
# 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.
|
||||
# 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
|
||||
|
||||
|
@ -361,7 +361,7 @@ EOF
|
|||
(<a href="<%= infiles["cvsurl"] %>"><acronym title="Concurrent Versioning System">CVS</acronym></a>)
|
||||
<% end %>
|
||||
<br />
|
||||
<% end # values["infiles"] %>
|
||||
<% end %><%# values["infiles"] %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
@ -388,39 +388,38 @@ EOF
|
|||
#####################################################################
|
||||
|
||||
METHOD_LIST = <<-EOF
|
||||
|
||||
<div id="contextContent">
|
||||
<% if values["diagram"] then %>
|
||||
<div id="diagram">
|
||||
<%= values["diagram"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end
|
||||
|
||||
<% if values["description"] then %>
|
||||
if values["description"] then %>
|
||||
<div id="description">
|
||||
<%= values["description"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end
|
||||
|
||||
<% if values["requires"] then %>
|
||||
if values["requires"] then %>
|
||||
<div id="requires-list">
|
||||
<h3 class="section-bar">Required files</h3>
|
||||
|
||||
<div class="name-list">
|
||||
<% values["requires"].each do |requires| %>
|
||||
<%= href requires["aref"], requires["name"] %>
|
||||
<% end # values["requires"] %>
|
||||
<% end %><%# values["requires"] %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end
|
||||
|
||||
<% if values["toc"] then %>
|
||||
if values["toc"] then %>
|
||||
<div id="contents-list">
|
||||
<h3 class="section-bar">Contents</h3>
|
||||
<ul>
|
||||
<% values["toc"].each do |toc| %>
|
||||
<li><a href="#<%= values["href"] %>"><%= values["secname"] %></a></li>
|
||||
<% end # values["toc"] %>
|
||||
<li><a href="#<%= toc["href"] %>"><%= toc["secname"] %></a></li>
|
||||
<% end %><%# values["toc"] %>
|
||||
</ul>
|
||||
<% end %>
|
||||
</div>
|
||||
|
@ -430,16 +429,14 @@ EOF
|
|||
<h3 class="section-bar">Methods</h3>
|
||||
|
||||
<div class="name-list">
|
||||
<% values["methods"].each do |methods| %>
|
||||
<% values["methods"].each do |methods| %>
|
||||
<%= href methods["aref"], methods["name"] %>
|
||||
<% end # values["methods"] %>
|
||||
<% end %><%# values["methods"] %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- if includes -->
|
||||
<% if values["includes"] then %>
|
||||
<div id="includes">
|
||||
|
@ -448,140 +445,137 @@ EOF
|
|||
<div id="includes-list">
|
||||
<% values["includes"].each do |includes| %>
|
||||
<span class="include-name"><%= href includes["aref"], includes["name"] %></span>
|
||||
<% end # values["includes"] %>
|
||||
<% end %><%# values["includes"] %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end
|
||||
|
||||
<% values["sections"].each do |sections| %>
|
||||
values["sections"].each do |sections| %>
|
||||
<div id="section">
|
||||
<% if sections["sectitle"] then %>
|
||||
<% if sections["sectitle"] then %>
|
||||
<h2 class="section-title"><a name="<%= sections["secsequence"] %>"><%= sections["sectitle"] %></a></h2>
|
||||
<% if sections["seccomment"] then %>
|
||||
<% if sections["seccomment"] then %>
|
||||
<div class="section-comment">
|
||||
<%= sections["seccomment"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end
|
||||
end
|
||||
|
||||
<% if values["classlist"] then %>
|
||||
if sections["classlist"] then %>
|
||||
<div id="class-list">
|
||||
<h3 class="section-bar">Classes and Modules</h3>
|
||||
|
||||
<%= values["classlist"] %>
|
||||
<%= sections["classlist"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end
|
||||
|
||||
<% if values["constants"] then %>
|
||||
if sections["constants"] then %>
|
||||
<div id="constants-list">
|
||||
<h3 class="section-bar">Constants</h3>
|
||||
|
||||
<div class="name-list">
|
||||
<table summary="Constants">
|
||||
<% values["constants"].each do |constants| %>
|
||||
<% sections["constants"].each do |constants| %>
|
||||
<tr class="top-aligned-row context-row">
|
||||
<td class="context-item-name"><%= constants["name"] %></td>
|
||||
<td>=</td>
|
||||
<td class="context-item-value"><%= constants["value"] %></td>
|
||||
<% if values["desc"] then %>
|
||||
<% if sections["desc"] then %>
|
||||
<td width="3em"> </td>
|
||||
<td class="context-item-desc"><%= constants["desc"] %></td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end # values["constants"] %>
|
||||
<% end %><%# sections["constants"] %>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end
|
||||
|
||||
<% if values["aliases"] then %>
|
||||
if sections["aliases"] then %>
|
||||
<div id="aliases-list">
|
||||
<h3 class="section-bar">External Aliases</h3>
|
||||
|
||||
<div class="name-list">
|
||||
<table summary="aliases">
|
||||
<% values["aliases"].each do |aliases| $stderr.puts({ :aliases => aliases }.inspect) %>
|
||||
<table summary="aliases">
|
||||
<% sections["aliases"].each do |aliases| %>
|
||||
<tr class="top-aligned-row context-row">
|
||||
<td class="context-item-name"><%= values["old_name"] %></td>
|
||||
<td class="context-item-name"><%= aliases["old_name"] %></td>
|
||||
<td>-></td>
|
||||
<td class="context-item-value"><%= values["new_name"] %></td>
|
||||
<td class="context-item-value"><%= aliases["new_name"] %></td>
|
||||
</tr>
|
||||
<% if values["desc"] then %>
|
||||
<% if aliases["desc"] then %>
|
||||
<tr class="top-aligned-row context-row">
|
||||
<td> </td>
|
||||
<td colspan="2" class="context-item-desc"><%= values["desc"] %></td>
|
||||
<td colspan="2" class="context-item-desc"><%= aliases["desc"] %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% end # values["aliases"] %>
|
||||
<% end
|
||||
end %><%# sections["aliases"] %>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
|
||||
<% if values["attributes"] then %>
|
||||
<% if sections["attributes"] then %>
|
||||
<div id="attribute-list">
|
||||
<h3 class="section-bar">Attributes</h3>
|
||||
|
||||
<div class="name-list">
|
||||
<table>
|
||||
<% values["attributes"].each do |attributes| $stderr.puts({ :attributes => attributes }.inspect) %>
|
||||
<% sections["attributes"].each do |attribute| %>
|
||||
<tr class="top-aligned-row context-row">
|
||||
<td class="context-item-name"><%= values["name"] %></td>
|
||||
<% if values["rw"] then %>
|
||||
<td class="context-item-value"> [<%= values["rw"] %>] </td>
|
||||
<% end %>
|
||||
<% unless values["rw"] then %>
|
||||
<td class="context-item-name"><%= attribute["name"] %></td>
|
||||
<% if attribute["rw"] then %>
|
||||
<td class="context-item-value"> [<%= attribute["rw"] %>] </td>
|
||||
<% end
|
||||
unless attribute["rw"] then %>
|
||||
<td class="context-item-value"> </td>
|
||||
<% end %>
|
||||
<td class="context-item-desc"><%= values["a_desc"] %></td>
|
||||
<% end %>
|
||||
<td class="context-item-desc"><%= attribute["a_desc"] %></td>
|
||||
</tr>
|
||||
<% end # values["attributes"] %>
|
||||
<% end %><%# sections["attributes"] %>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
||||
<% end %>
|
||||
|
||||
<!-- if method_list -->
|
||||
<% if sections["method_list"] then %>
|
||||
<% if sections["method_list"] then %>
|
||||
<div id="methods">
|
||||
<% sections["method_list"].each do |method_list| %>
|
||||
<% if method_list["methods"] then %>
|
||||
<% sections["method_list"].each do |method_list|
|
||||
if method_list["methods"] then %>
|
||||
<h3 class="section-bar"><%= method_list["type"] %> <%= method_list["category"] %> methods</h3>
|
||||
|
||||
<% method_list["methods"].each do |methods| %>
|
||||
<% method_list["methods"].each do |methods| %>
|
||||
<div id="method-<%= methods["aref"] %>" class="method-detail">
|
||||
<a name="<%= methods["aref"] %>"></a>
|
||||
|
||||
<div class="method-heading">
|
||||
<% if methods["codeurl"] then %>
|
||||
<% if methods["codeurl"] then %>
|
||||
<a href="<%= methods["codeurl"] %>" target="Code" class="method-signature"
|
||||
onclick="popupCode('<%= methods["codeurl"] %>');return false;">
|
||||
<% end %>
|
||||
<% if methods["sourcecode"] then %>
|
||||
<% end
|
||||
if methods["sourcecode"] then %>
|
||||
<a href="#<%= methods["aref"] %>" class="method-signature">
|
||||
<% end %>
|
||||
<% if methods["callseq"] then %>
|
||||
<% end
|
||||
if methods["callseq"] then %>
|
||||
<span class="method-name"><%= methods["callseq"] %></span>
|
||||
<% end %>
|
||||
<% unless methods["callseq"] then %>
|
||||
<% end
|
||||
unless methods["callseq"] then %>
|
||||
<span class="method-name"><%= methods["name"] %></span><span class="method-args"><%= methods["params"] %></span>
|
||||
<% end %>
|
||||
<% if methods["codeurl"] then %>
|
||||
<% end
|
||||
if methods["codeurl"] then %>
|
||||
</a>
|
||||
<% end %>
|
||||
<% if methods["sourcecode"] then %>
|
||||
<% end
|
||||
if methods["sourcecode"] then %>
|
||||
</a>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
<% if methods["m_desc"] then %>
|
||||
<% if methods["m_desc"] then %>
|
||||
<%= methods["m_desc"] %>
|
||||
<% end %>
|
||||
<% if methods["sourcecode"] then %>
|
||||
<% end
|
||||
if methods["sourcecode"] then %>
|
||||
<p><a class="source-toggle" href="#"
|
||||
onclick="toggleCode('<%= methods["aref"] %>-source');return false;">[Source]</a></p>
|
||||
<div class="method-source-code" id="<%= methods["aref"] %>-source">
|
||||
|
@ -589,17 +583,17 @@ EOF
|
|||
<%= methods["sourcecode"] %>
|
||||
</pre>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end # method_list["methods"] %>
|
||||
<% end %>
|
||||
<% end # sections["method_list"] %>
|
||||
<% end %><%# method_list["methods"] %><%
|
||||
end
|
||||
end %><%# sections["method_list"] %>
|
||||
|
||||
</div>
|
||||
<% end %>
|
||||
<% end # values["sections"] %>
|
||||
<% end %>
|
||||
<% end %><%# values["sections"] %>
|
||||
EOF
|
||||
|
||||
#####################################################################
|
||||
|
@ -663,7 +657,7 @@ EOF
|
|||
<div id="index-entries">
|
||||
<% values["entries"].each do |entries| %>
|
||||
<a href="<%= entries["href"] %>"><%= entries["name"] %></a><br />
|
||||
<% end # values["entries"] %>
|
||||
<% end %><%# values["entries"] %>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -119,7 +119,7 @@ body,td,p { font-family: <%= values["fonts"] %>;
|
|||
<div class="name-list">
|
||||
<% values["requires"].each do |requires| %>
|
||||
<%= href requires["aref"], requires["name"] %>
|
||||
<% end # values["requires"] %>
|
||||
<% end %><%# values["requires"] %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
@ -130,7 +130,7 @@ body,td,p { font-family: <%= values["fonts"] %>;
|
|||
<div class="name-list">
|
||||
<% values["methods"].each do |methods| %>
|
||||
<%= href methods["aref"], methods["name"] %>,
|
||||
<% end # values["methods"] %>
|
||||
<% end %><%# values["methods"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
@ -162,7 +162,7 @@ body,td,p { font-family: <%= values["fonts"] %>;
|
|||
<td class="attr-name"><%= attributes["name"] %></td>
|
||||
<td><%= attributes["a_desc"] %></td>
|
||||
</tr>
|
||||
<% end # sections["attributes"] %>
|
||||
<% end %><%# sections["attributes"] %>
|
||||
</table>
|
||||
<% end %>
|
||||
|
||||
|
@ -175,7 +175,7 @@ body,td,p { font-family: <%= values["fonts"] %>;
|
|||
|
||||
<%= template_include %> <!-- method descriptions -->
|
||||
|
||||
<% end # values["sections"] %>
|
||||
<% end %><%# values["sections"] %>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@ -221,7 +221,7 @@ body,td,p { font-family: <%= values["fonts"] %>;
|
|||
<% if infiles["cvsurl"] then %>
|
||||
(<a href="<%= infiles["cvsurl"] %>"><acronym title="Concurrent Versioning System">CVS</acronym></a>)
|
||||
<% end %>
|
||||
<% end # values["infiles"] %>
|
||||
<% end %><%# values["infiles"] %>
|
||||
</td>
|
||||
</tr>
|
||||
<% if values["parent"] then %>
|
||||
|
@ -250,7 +250,7 @@ body,td,p { font-family: <%= values["fonts"] %>;
|
|||
<div class="name-list">
|
||||
<% values["includes"].each do |includes| %>
|
||||
<span class="method-name"><%= href includes["aref"], includes["name"] %></span>
|
||||
<% end # values["includes"] %>
|
||||
<% end %><%# values["includes"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
@ -285,7 +285,7 @@ body,td,p { font-family: <%= values["fonts"] %>;
|
|||
This method is also aliased as
|
||||
<% values["aka"].each do |aka| $stderr.puts({ :aka => aka }.inspect) %>
|
||||
<a href="<%= values["aref"] %>"><%= values["name"] %></a>
|
||||
<% end # values["aka"] %>
|
||||
<% end %><%# values["aka"] %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% if values["sourcecode"] then %>
|
||||
|
@ -293,9 +293,9 @@ This method is also aliased as
|
|||
<%= values["sourcecode"] %>
|
||||
</pre>
|
||||
<% end %>
|
||||
<% end # values["methods"] %>
|
||||
<% end %><%# values["methods"] %>
|
||||
<% end %>
|
||||
<% end # values["method_list"] %>
|
||||
<% end %><%# values["method_list"] %>
|
||||
<% end %>
|
||||
EOF
|
||||
|
||||
|
@ -364,7 +364,7 @@ div.banner {
|
|||
<div class="banner"><%= values["list_title"] %></div>
|
||||
<% values["entries"].each do |entries| %>
|
||||
<a href="<%= entries["href"] %>"><%= entries["name"] %></a><br />
|
||||
<% end # values["entries"] %>
|
||||
<% end %><%# values["entries"] %>
|
||||
</body></html>
|
||||
EOF
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ module RDoc::Generator::HTML::ONE_PAGE_HTML
|
|||
<% unless requires["aref"] then %>
|
||||
<li><%= requires["name"] %></li>
|
||||
<% end %>
|
||||
<% end # files["requires"] %>
|
||||
<% end %><%# files["requires"] %>
|
||||
</ul>
|
||||
<% end %>
|
||||
|
||||
|
@ -31,7 +31,7 @@ module RDoc::Generator::HTML::ONE_PAGE_HTML
|
|||
<% unless includes["aref"] then %>
|
||||
<li><%= includes["name"] %></li>
|
||||
<% end %>
|
||||
<% end # classes["includes"] %>
|
||||
<% end %><%# classes["includes"] %>
|
||||
</ul>
|
||||
<% end %>
|
||||
|
||||
|
@ -42,7 +42,7 @@ module RDoc::Generator::HTML::ONE_PAGE_HTML
|
|||
<table>
|
||||
<% sections["attributes"].each do |attributes| %>
|
||||
<tr><td><%= attributes["name"] %></td><td><%= attributes["rw"] %></td><td><%= attributes["a_desc"] %></td></tr>
|
||||
<% end # sections["attributes"] %>
|
||||
<% end %><%# sections["attributes"] %>
|
||||
</table>
|
||||
<% end %>
|
||||
|
||||
|
@ -68,11 +68,11 @@ module RDoc::Generator::HTML::ONE_PAGE_HTML
|
|||
<%= methods["sourcecode"] %>
|
||||
</pre></blockquote>
|
||||
<% end %>
|
||||
<% end # method_list["methods"] %>
|
||||
<% end %><%# method_list["methods"] %>
|
||||
<% end %>
|
||||
<% end # sections["method_list"] %>
|
||||
<% end %><%# sections["method_list"] %>
|
||||
<% end %>
|
||||
<% end # classes["sections"] %>
|
||||
<% end %><%# classes["sections"] %>
|
||||
<% end %>
|
||||
EOF
|
||||
|
||||
|
@ -91,7 +91,7 @@ module RDoc::Generator::HTML::ONE_PAGE_HTML
|
|||
<tr><td>Modified:</td><td><%= files["dtm_modified"] %></td></tr>
|
||||
</table>
|
||||
} + CONTENTS_XML + %{
|
||||
<% end # values["files"] %>
|
||||
<% end %><%# values["files"] %>
|
||||
|
||||
<% if values["classes"] then %>
|
||||
<h2>Classes</h2>
|
||||
|
@ -107,11 +107,11 @@ module RDoc::Generator::HTML::ONE_PAGE_HTML
|
|||
(in files
|
||||
<% classes["infiles"].each do |infiles| %>
|
||||
<%= href infiles["full_path_url"], infiles["full_path"] %>
|
||||
<% end # classes["infiles"] %>
|
||||
<% end %><%# classes["infiles"] %>
|
||||
)
|
||||
<% end %>
|
||||
} + CONTENTS_XML + %{
|
||||
<% end # values["classes"] %>
|
||||
<% end %><%# values["classes"] %>
|
||||
<% end %>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -45,7 +45,7 @@ class RDoc::Generator::RI
|
|||
def process_class(from_class)
|
||||
generate_class_info(from_class)
|
||||
|
||||
# now recurse into this classes constituent classes
|
||||
# now recurse into this class' constituent classes
|
||||
from_class.each_classmodule do |mod|
|
||||
process_class(mod)
|
||||
end
|
||||
|
|
84
lib/rdoc/generator/texinfo.rb
Normal file
84
lib/rdoc/generator/texinfo.rb
Normal file
|
@ -0,0 +1,84 @@
|
|||
require 'rdoc/rdoc'
|
||||
require 'rdoc/generator'
|
||||
require 'rdoc/markup/to_texinfo'
|
||||
|
||||
module RDoc
|
||||
RDoc::GENERATORS['texinfo'] = RDoc::Generator.new("rdoc/generator/texinfo",
|
||||
:Texinfo,
|
||||
'texinfo')
|
||||
module Generator
|
||||
# This generates Texinfo files for viewing with GNU Info or Emacs
|
||||
# from RDoc extracted from Ruby source files.
|
||||
class Texinfo
|
||||
# What should the .info file be named by default?
|
||||
DEFAULT_INFO_FILENAME = 'rdoc.info'
|
||||
|
||||
include Generator::MarkUp
|
||||
|
||||
# Accept some options
|
||||
def initialize(options)
|
||||
@options = options
|
||||
@options.inline_source = true
|
||||
@options.op_name ||= 'rdoc.texinfo'
|
||||
@options.formatter = ::RDoc::Markup::ToTexInfo.new
|
||||
end
|
||||
|
||||
# Generate the +texinfo+ files
|
||||
def generate(toplevels)
|
||||
@toplevels = toplevels
|
||||
@files, @classes = ::RDoc::Generator::Context.build_indicies(@toplevels,
|
||||
@options)
|
||||
|
||||
(@files + @classes).each { |x| x.value_hash }
|
||||
|
||||
open(@options.op_name, 'w') do |f|
|
||||
f.puts TexinfoTemplate.new('files' => @files,
|
||||
'classes' => @classes,
|
||||
'filename' => @options.op_name.gsub(/texinfo/, 'info'),
|
||||
'title' => @options.title).render
|
||||
end
|
||||
# TODO: create info files and install?
|
||||
end
|
||||
|
||||
class << self
|
||||
# Factory? We don't need no stinkin' factory!
|
||||
alias_method :for, :new
|
||||
end
|
||||
end
|
||||
|
||||
# Basically just a wrapper around ERB.
|
||||
# Should probably use RDoc::TemplatePage instead
|
||||
class TexinfoTemplate
|
||||
BASE_DIR = ::File.expand_path(::File.dirname(__FILE__)) # have to calculate this when the file's loaded.
|
||||
|
||||
def initialize(values, file = 'texinfo.erb')
|
||||
@v, @file = [values, file]
|
||||
end
|
||||
|
||||
def template
|
||||
::File.read(::File.join(BASE_DIR, 'texinfo', @file))
|
||||
end
|
||||
|
||||
# Go!
|
||||
def render
|
||||
ERB.new(template).result binding
|
||||
end
|
||||
|
||||
def href(location, text)
|
||||
text # TODO: how does texinfo do hyperlinks?
|
||||
end
|
||||
|
||||
def target(name, text)
|
||||
text # TODO: how do hyperlink targets work?
|
||||
end
|
||||
|
||||
# TODO: this is probably implemented elsewhere?
|
||||
def method_prefix(section)
|
||||
{ 'Class' => '.',
|
||||
'Module' => '::',
|
||||
'Instance' => '#',
|
||||
}[section['category']]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
44
lib/rdoc/generator/texinfo/class.texinfo.erb
Normal file
44
lib/rdoc/generator/texinfo/class.texinfo.erb
Normal file
|
@ -0,0 +1,44 @@
|
|||
@node <%= @v['class']['full_name'].gsub(/::/, '-') %>
|
||||
@chapter <%= @v['class']["classmod"] %> <%= @v['class']['full_name'] %>
|
||||
|
||||
<% if @v['class']["parent"] and @v['class']['par_url'] %>
|
||||
Inherits <%= href @v['class']["par_url"], @v['class']["parent"] %><% end %>
|
||||
|
||||
<%= @v['class']["description"] %>
|
||||
|
||||
<% if @v['class']["includes"] %>
|
||||
Includes
|
||||
<% @v['class']["includes"].each do |include| %>
|
||||
* <%= href include["aref"], include["name"] %>
|
||||
<% end # @v['class']["includes"] %>
|
||||
<% end %>
|
||||
|
||||
<% if @v['class']["sections"] %>
|
||||
<% @v['class']["sections"].each do |section| %>
|
||||
<% if section["attributes"] %>
|
||||
Attributes
|
||||
<% section["attributes"].each do |attributes| %>
|
||||
* <%= attributes["name"] %> <%= attributes["rw"] %> <%= attributes["a_desc"] %>
|
||||
<% end # section["attributes"] %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% @v['class']["sections"].each do |section| %>
|
||||
<% if section["method_list"] %>
|
||||
Methods
|
||||
@menu
|
||||
<% section["method_list"].each_with_index do |method_list, i| %>
|
||||
<%= i %>
|
||||
<% (method_list["methods"] || []).each do |method| %>
|
||||
* <%= @v['class']['full_name'].gsub(/::/, '-') %><%= method_prefix method_list %><%= method['name'] %>::<% end %>
|
||||
<% end %>
|
||||
@end menu
|
||||
|
||||
<% section["method_list"].each do |method_list| %>
|
||||
<% (method_list["methods"] || []).uniq.each do |method| %>
|
||||
<%= TexinfoTemplate.new(@v.merge({'method' => method, 'list' => method_list}),
|
||||
'method.texinfo.erb').render %><% end %>
|
||||
<% end # section["method_list"] %>
|
||||
<% end %>
|
||||
<% end # @v['class']["sections"] %>
|
||||
<% end %>
|
6
lib/rdoc/generator/texinfo/file.texinfo.erb
Normal file
6
lib/rdoc/generator/texinfo/file.texinfo.erb
Normal file
|
@ -0,0 +1,6 @@
|
|||
<% if false %>
|
||||
<h2>File: <%= @v['file']["short_name"] %></h2>
|
||||
Path: <%= @v['file']["full_path"] %>
|
||||
|
||||
<%= TexinfoTemplate.new(@v, 'content.texinfo.erb').render %>
|
||||
<% end %>
|
6
lib/rdoc/generator/texinfo/method.texinfo.erb
Normal file
6
lib/rdoc/generator/texinfo/method.texinfo.erb
Normal file
|
@ -0,0 +1,6 @@
|
|||
@node <%= @v['class']['full_name'].gsub(/::/, '-') %><%= method_prefix @v['list'] %><%= @v['method']['name'] %>
|
||||
@section <%= @v['class']["classmod"] %> <%= @v['class']['full_name'] %><%= method_prefix @v['list'] %><%= @v['method']['name'] %>
|
||||
<%= @v['method']["type"] %> <%= @v['method']["category"] %> method:
|
||||
<%= target @v['method']["aref"], @v['method']['callseq'] ||
|
||||
@v['method']["name"] + @v['method']["params"] %>
|
||||
<%= @v['method']["m_desc"] %>
|
28
lib/rdoc/generator/texinfo/texinfo.erb
Normal file
28
lib/rdoc/generator/texinfo/texinfo.erb
Normal file
|
@ -0,0 +1,28 @@
|
|||
\input texinfo @c -*-texinfo-*-
|
||||
@c %**start of header
|
||||
@setfilename <%= @v['filename'] %>
|
||||
@settitle <%= @v['title'] %>
|
||||
@c %**end of header
|
||||
|
||||
@contents @c TODO: whitespace is a mess... =\
|
||||
|
||||
@ifnottex
|
||||
@node Top
|
||||
|
||||
@top <%= @v['title'] %>
|
||||
@end ifnottex
|
||||
|
||||
<% if @f = @v['files'].detect { |f| f.name =~ /Readme/i } %>
|
||||
<%= @f.values['description'] %><% end %>
|
||||
|
||||
@menu
|
||||
<% @v['classes'].each do |klass| %>
|
||||
* <%= klass.name.gsub(/::/, '-') %>::<% end %>
|
||||
@c TODO: add files
|
||||
@end menu
|
||||
|
||||
<% (@v['classes'] || []).each_with_index do |klass, i| %>
|
||||
<%= TexinfoTemplate.new(@v.merge('class' => klass.values),
|
||||
'class.texinfo.erb').render %><% end %>
|
||||
|
||||
@bye
|
Loading…
Add table
Add a link
Reference in a new issue