pier 01/04/24 09:28:40
Modified: connectors/scandoc template.pl
Log:
Now API docs from C sources are similar to JavaDOCs.
Revision Changes Path
1.2 +413 -655 jakarta-tomcat-4.0/connectors/scandoc/template.pl
Index: template.pl
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/connectors/scandoc/template.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- template.pl 2001/04/17 13:10:22 1.1
+++ template.pl 2001/04/24 16:28:39 1.2
@@ -1,701 +1,459 @@
<<
# Scandoc template file.
#
-# This is an example set of templates that is designed to create several
-# different kinds of index files. It generates a "master index" which intended
-# for use with a frames browser; A "package index" which is the root page of
-# the index, and then "package files" containing documentation for all of the
+# This is an example set of templates that is designed to create several
+# different kinds of index files. It generates a "master index" which intended
+# for use with a frames browser; A "package index" which is the root page of
+# the index, and then "package files" containing documentation for all of the
# classes within a single package.
-######################################################################
+###############################################################################
+## Defaults for look and feel
-## For quick and superficial customization,
-## simply change these variables
+if ($project == "") { $project = "WebApp Library"; }
+if ($copyright == "") { $copyright = "2001, The Apache Software Foundation"; }
+if ($body_bgcolor == "") { $body_bgcolor = '#ffffff'; }
+if ($body_text == "") { $body_text = '#000000'; }
+if ($body_link == "") { $body_link = '#0000ff'; }
+if ($body_vlink == "") { $body_vlink = '#0000ff'; }
+if ($body_alink == "") { $body_alink = '#0000ff'; }
+
+###############################################################################
+# Generate the frameset index #
+###############################################################################
-$project_name = 'Apache WebApp';
-$copyright = '2000-2001 The Apache Software Foundation';
-
-######################################################################
-
-## Begin generating frame index file.
-
file "index.html";
+@p = packages();
+$_ = @p[0]->url;
+s/\s/_/g;
+y/[A-Z]/[a-z]/;
>>
<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; iso-8859-1">
- <title>$project_name</title>
- </head>
- <frameset cols="200,*">
- <frame src="master.html" name="master">
- <frame src="packages.html" name="documentation">
- </frameset>
-</html>
-<<
-
-######################################################################
-
-## Begin generating master index file (left-hand frame).
-
-file "master.html";
->>
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; iso-8859-1">
- <title>$project_name - Master Index</title>
- </head>
- <body bgcolor="#999999" text="#000000" link="#0000ff" vlink="#0000ff"
alink="#0000ff">
- <table width="100%" bgcolor="#999999" border="0" cellspacing="1" cellpadding="0">
- <tr>
- <td bgcolor="#ffcccc" align="center" colspan="2"><font
size="+1"><nobr><b>$project_name</b></nobr></font></td>
- </tr>
- <tr>
- <td bgcolor="#cccccc" align="left" colspan="2"><font size="-1"><a
href="master.html" target="documentation">Master Index:</a></font></td>
- </tr>
- <tr>
- <td bgcolor="#ccccff" width="10"><font size="-1"> </font></td>
- <td bgcolor="#ffffff" align="left"><font size="-1"><nobr><a
href="packages.html" target="documentation">Packages list</a></nobr></font></td>
- </tr>
- <tr>
- <td bgcolor="#ccccff" width="10"><font size="-1"> </font></td>
- <td bgcolor="#ffffff" align="left"><font size="-1"><nobr><a
href="todolist.html" target="documentation">To-Do list</a></nobr></font></td>
- </tr>
-<<
-
-## For each package, generate an index entry.
-
-foreach $p (packages()) {
- $_ = $p->url;
- s/\s/_/g;
->>
- <tr><td bgcolor="#999999" height="4" colspan="2"> </td></tr>
- <tr>
- <td bgcolor="#ccffcc" align="center" colspan="2"><nobr><b><a href="$_"
target="documentation">$(p.name)</a></b></nobr></td>
- </tr>
- <tr>
- <td bgcolor="#cccccc" align="left" colspan="2"><font
size="-1">Classes:</font></td>
- </tr>
-<<
-
- foreach $e ($p->classes()) {
- $_ = $e->url;
- s/\s/_/g;
->>
- <tr>
- <td bgcolor="#ccccff" width="10"><font size="-1"> </font></td>
- <td bgcolor="#ffffff" align="left"><font size="-1"><nobr><a href="$_"
target="documentation">$(e.fullname)</a></nobr></font></td>
- </tr>
-<<
- }
-
->>
- <tr>
- <td bgcolor="#cccccc" align="left" colspan="2"><nobr><font size="-1">Global
Variables:</font></nobr></td>
- </tr>
-<<
-
- foreach $e ($p->globalvars()) {
- $_ = $e->url;
- s/\s/_/g;
->>
- <tr>
- <td bgcolor="#ccccff" width="10"><font size="-1"> </font></td>
- <td bgcolor="#ffffff" align="left"><nobr><font size="-1"><a href="$_"
target="documentation">$(e.fullname)</a></font></nobr></td>
- </tr>
-<<
- }
-
->>
- <tr>
- <td bgcolor="#cccccc" align="left" colspan="2"><nobr><font size="-1">Global
Functions:</font></nobr></td>
- </tr>
-<<
-
- foreach $e ($p->globalfuncs()) {
- $_ = $e->url;
- s/\s/_/g;
->>
- <tr>
- <td bgcolor="#ccccff" width="10"><font size="-1"> </font></td>
- <td bgcolor="#ffffff" align="left"><font size="-1"><nobr><a href="$_"
target="documentation">$(e.fullname)</a></nobr></font></td>
- </tr>
-<<
- }
-}
-
->>
- <tr><td bgcolor="#999999" height="4" colspan="2"> </td></tr>
- <tr><td bgcolor="#666666" height="1" colspan="2"></td></tr>
- <tr>
- <td bgcolor="#999999" colspan="2" align="center">
- <font size="-1">
- Copyright © $copyright. All Rights Reserved.<br>
- Generated by <a href="$scandocURL"><b>ScanDoc
$majorVersion.$minorVersion</b></a>
- on $date<br>
- </font>
- </td>
- </tr>
- </table>
- </body>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; iso-8859-1">
+ <title>$project API Documentation</title>
+ </head>
+ <frameset cols="200,*">
+ <frameset rows="150,*">
+ <frame src="packages.html">
+ <frame src="pkg.$_" name="pkg">
+ </frameset>
+ <frame src="doc.$_" name="doc">
+ </frameset>
</html>
<<
-######################################################################
+###############################################################################
+# Generate the packages list #
+###############################################################################
-## Begin generating package index file
-
file "packages.html";
>>
<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; iso-8859-1">
- <title>$project_name - Packages List</title>
- </head>
- <body bgcolor="#999999" text="#000000" link="#0000ff" vlink="#0000ff"
alink="#0000ff">
- <table width="100%" bgcolor="#999999" border="0" cellspacing="1" cellpadding="0">
- <tr>
- <td bgcolor="#ffcccc" align="center" colspan="2"><font
size="+1"><nobr><b>$project_name - Packages List</b></nobr></font></td>
- </tr>
- <tr>
- <td bgcolor="#cccccc" align="left" colspan="2"><font
size="-1">Packages:</font></td>
- </tr>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; iso-8859-1">
+ <title>$project - Packages List</title>
+ </head>
+ <body link="$body_link" vlink="$body_vlink" alink="$body_alink"
+ bgcolor="$body_bgcolor" text="$body_text">
+ <font size="+1" face="arial,helvetica,sans serif">
+ <nobr><b>$project packages:</b></nobr>
+ </font>
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td width="10"> </td>
+ <td> </td>
+ </tr>
<<
## For each package, generate an index entry.
foreach $p (packages()) {
- $_ = $p->url;
- s/\s/_/g;
->>
- <tr>
- <td bgcolor="#ccccff" width="10"><font size="-1"> </font></td>
- <td bgcolor="#ffffff" align="left"><font size="-1"><nobr><a href =
"$_">$(p.name)</a></nobr></font></td>
- </tr>
-<<
-}
-
->>
- <tr><td bgcolor="#999999" height="4" colspan="2"> </td></tr>
- <tr><td bgcolor="#666666" height="1" colspan="2"></td></tr>
- <tr>
- <td bgcolor="#999999" colspan="2" align="center">
- <font size="-1">
- Copyright © $copyright. All Rights Reserved.<br>
- Generated by <a href="$scandocURL"><b>ScanDoc
$majorVersion.$minorVersion</b></a>
- on $date<br>
- </font>
- </td>
- </tr>
- </table>
- </body>
-</html>
-<<
-
-######################################################################
-
-## Generate "To-do list"
-
-file "todolist.html";
->>
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; iso-8859-1">
- <title>$project_name - To-Do List</title>
- </head>
- <body bgcolor="#999999" text="#000000" link="#0000ff" vlink="#0000ff"
alink="#0000ff">
- <table width="100%" bgcolor="#999999" border="0" cellspacing="1" cellpadding="0">
- <tr>
- <td bgcolor="#ffcccc" align="center" colspan="2"><font
size="+1"><nobr><b>$project_name - Packages List</b></nobr></font></td>
- </tr>
-<<
-
-if (&todolistFiles()) {
- foreach $f (&todolistFiles()) {
- my @m = &todolistEntries( $f );
- if ($f =~ /([^\/]+)$/) { $f = $1; }
->>
- <tr><td bgcolor="#999999" height="4" colspan="2"> </td></tr>
- <tr>
- <td bgcolor="#ccffcc" align="left" colspan="2"><b>$f</b> notes:</font></td>
- </tr>
- <tr>
- <td bgcolor="#ccccff" width="10"><font size="-1"> </font></td>
- <td bgcolor="#ffffff" align="left"><font size="-1">
-<<
- foreach $text (@m) {
- if ($text) {
->>
- $text
-<<
- }
- }
->>
- </td>
- </tr>
-<<
- }
+ $_ = $p->url;
+ s/\s/_/g;
+ y/[A-Z]/[a-z]/;
+ >>
+ <tr>
+ <td width="10"> </td>
+ <td>
+ <font face="arial,helvetica,sans serif">
+ <nobr><a href="pkg.$_" target="pkg">$(p.name)</a></nobr>
+ </font>
+ </td>
+ </tr>
+ <<
}
>>
- <tr><td bgcolor="#999999" height="4" colspan="2"> </td></tr>
- <tr><td bgcolor="#666666" height="1" colspan="2"></td></tr>
- <tr>
- <td bgcolor="#999999" colspan="2" align="center">
- <font size="-1">
- Copyright © $copyright. All Rights Reserved.<br>
- Generated by <a href="$scandocURL"><b>ScanDoc
$majorVersion.$minorVersion</b></a>
- on $date<br>
- </font>
- </td>
- </tr>
- </table>
- </body>
+ </table>
+ <hr>
+ <font size="-2" face="arial,helvetica,sans serif">
+ <div align="center">
+ Copyright © $copyright.<br>
+ All Rights Reserved.<br>
+ </div>
+ </font>
+ </body>
</html>
<<
-
-######################################################################
-
-## Generate individual files for each package.
-my $p;
+###############################################################################
+# Generate the packages table of content for each package #
+###############################################################################
foreach $p (packages()) {
- $_ = $p->name;
- s/\s/_/g;
- file $_ . ".html";
->>
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; iso-8859-1">
- <title>$project_name - Package $(p.name)</title>
- </head>
- <body bgcolor="#999999" text="#000000" link="#0000ff" vlink="#0000ff"
alink="#0000ff">
- <table width="100%" bgcolor="#999999" border="0" cellspacing="1" cellpadding="0">
- <tr>
- <td bgcolor="#ffcccc" align="center" colspan="2"><font
size="+2"><nobr><b>$project_name - Package $(p.name)</b></nobr></font></td>
- </tr>
-<<
-
-## Generate class and member index at the top of the file.
-
->>
- <tr>
- <td bgcolor="#cccccc" align="left" colspan="2">Classes:</td>
- </tr>
-<<
- foreach $e ($p->classes()) {
- $_ = $e->url;
+ $_ = $p->url;
s/\s/_/g;
->>
- <tr>
- <td bgcolor="#ccccff" width="10"> </td>
- <td bgcolor="#ffffff" align="left">
- <dl>
- <dt><a href="$_">$(e.fullname)</a></dt>
-<<
-
- # Output class member index
- if ($e->members()) {
- foreach $m ($e->members()) {
- $_ = $m->url;
- s/\s/_/g;
->>
- <dd><font size="-1"><a href="$_">$(m.fullname)</a></font></dd>
-<<
- }
- }
->>
- </dl>
- </td>
- </tr>
-<<
- }
-
->>
- <tr>
- <td bgcolor="#cccccc" align="left" colspan="2">Global Variables:</td>
- </tr>
-<<
- foreach $e ($p->globalvars()) {
- $_ = $e->url;
- s/\s/_/g;
->>
- <tr>
- <td bgcolor="#ccccff" width="10"> </td>
- <td bgcolor="#ffffff" align="left"><a href="$_">$(e.fullname)</a></td>
- </tr>
-<<
- }
-
->>
- <tr>
- <td bgcolor="#cccccc" align="left" colspan="2">Global Functions:</td>
- </tr>
-<<
- foreach $e ($p->globalfuncs()) {
- $_ = $e->url;
- s/\s/_/g;
->>
- <tr>
- <td bgcolor="#ccccff" width="10"> </td>
- <td bgcolor="#ffffff" align="left"><a href="$_">$(e.fullname)</a></td>
- </tr>
-<<
- }
-
->>
- <tr><td bgcolor="#999999" height="4" colspan="2"> </td></tr>
- </table>
-<<
-
-## Generate detailed class documentation
-foreach $c ($p->classes()) {
- ## Output searchable keyword list
- if ($c->keywords()) {
- print "<!-- ", $c->keywords(), " -->\n";
- }
-
->>
- <a name="$(c.anchor)"></a>
- <table width="100%" bgcolor="#999999" border="0" cellspacing="1" cellpadding="0">
- <tr>
- <td bgcolor="#ccffcc" align="center" colspan="2"><nobr>Class:
<b>$(c.fullname)</b></nobr></td>
- </tr>
-<<
-
- # Output main class description
->>
- <tr>
- <td bgcolor="#ccccff" align="right" width="10%">Description</td>
- <td bgcolor="#ffffff" align="left" width="90%">$(c.description)</td>
- </tr>
-<<
-
- # Output author tag
- if ($c->author()) {
->>
- <tr>
- <td bgcolor="#ccccff" align="right" width="10%">Author</td>
- <td bgcolor="#ffffff" align="left" width="90%">$(c.author)</td>
- </tr>
-<<
- }
-
- # Output package version
- if ($c->version()) {
->>
- <tr>
- <td bgcolor="#ccccff" align="right" width="10%">Version</td>
- <td bgcolor="#ffffff" align="left" width="90%">$(c.version)</td>
- </tr>
-<<
- }
-
- # Output Source file
- if ($c->sourcefile()) {
->>
- <tr>
- <td bgcolor="#ccccff" align="right" width="10%">Source File</td>
- <td bgcolor="#ffffff" align="left" width="90%">$(c.sourcefile)</td>
- </tr>
-<<
- }
-
- # Output "see also" information
- if ($c->seealso()) {
->>
- <tr>
- <td bgcolor="#ccccff" align="right" width="10%">See Also</td>
- <td bgcolor="#ffffff" align="left" width="90%">
-<<
- my @r = ();
- foreach $a ($c->seealso()) {
- my $name = $a->name();
- if ($url = $a->url()) {
- $_ = $url;
+ y/[A-Z]/[a-z]/;
+ file "pkg.$_";
+ >>
+ <html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; iso-8859-1">
+ <title>$project - Packages List</title>
+ </head>
+
+ <body link="$body_link" vlink="$body_vlink" alink="$body_alink"
+ bgcolor="$body_bgcolor" text="$body_text">
+ <font size="+1" face="arial,helvetica,sans serif">
+ <nobr><b><a href="doc.$_" target="doc">$(p.name)</a> package:</b></nobr>
+ </font>
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td width="10"> </td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <font face="arial,helvetica,sans serif">
+ <nobr>Classes:</nobr>
+ </font>
+ </td>
+ </tr>
+ <<
+ foreach $e ($p->classes()) {
+ $_ = $e->url;
s/\s/_/g;
- push @r, "<a href=\"$_\">$name</a>";
- }
- else { push @r, $name; }
+ y/[A-Z]/[a-z]/;
+ >>
+ <tr>
+ <td width="10"> </td>
+ <td>
+ <font face="arial,helvetica,sans serif">
+ <nobr><a href="doc.$_" target="doc">$(e.fullname)</a></nobr>
+ </font>
+ </td>
+ </tr>
+ <<
}
- print join( ', ', @r );
->>
- </td>
- </tr>
-<<
- }
-
- # Output base class list
- if ($c->baseclasses()) {
->>
- <tr>
- <td bgcolor="#ccccff" align="right" width="10%">Base Classes</td>
- <td bgcolor="#ffffff" align="left" width="90%">
-<<
- my @t = ();
- foreach $b ($c->baseclasses()) {
- my $name = $b->name();
- if ($url = $b->url()) {
- $_ = $url;
- s/\s/_/g;
- push @t, "<a href=\"$_\">$name</a>";
- }
- else { push @t, $name; }
+ if ($p->globalfuncs()) {
+ >>
+ <tr>
+ <td colspan="2">
+ <font face="arial,helvetica,sans serif">
+ <nobr>Global Functions:</nobr>
+ </font>
+ </td>
+ </tr>
+ <<
+ foreach $e ($p->globalfuncs()) {
+ $_ = $e->url;
+ s/\s/_/g;
+ y/[A-Z]/[a-z]/;
+ >>
+ <tr>
+ <td width="10"> </td>
+ <td>
+ <font face="arial,helvetica,sans serif">
+ <nobr><a href="doc.$_" target="doc">$(e.fullname)</a></nobr>
+ </font>
+ </td>
+ </tr>
+ <<
+ }
+ } else {
+ >>
+ <tr>
+ <td colspan="2">
+ <font face="arial,helvetica,sans serif">
+ <nobr><i>No Global Functions defined.</i></nobr>
+ </font>
+ </td>
+ </tr>
+ <<
}
- print join( ', ', @t );
->>
- </td>
- </tr>
-<<
- }
- # Output subclasses list
- if ($c->subclasses()) {
->>
- <tr>
- <td bgcolor="#ccccff" align="right" width="10%">Sub Classes</td>
- <td bgcolor="#ffffff" align="left" width="90%">
-<<
- my @t = ();
- foreach $s ($c->subclasses()) {
- my $name = $s->name();
- if ($url = $s->url()) {
- $_ = $url;
- s/\s/_/g;
- push @t, "<a href=\"$_\">$name</a>";
- }
- else { push @t, $name; }
+ if ($p->globalvars()) {
+ >>
+ <tr>
+ <td colspan="2">
+ <font face="arial,helvetica,sans serif">
+ <nobr>Global Variables:</nobr>
+ </font>
+ </td>
+ </tr>
+ <<
+ foreach $e ($p->globalvars()) {
+ $_ = $e->url;
+ s/\s/_/g;
+ y/[A-Z]/[a-z]/;
+ >>
+ <tr>
+ <td width="10"> </td>
+ <td>
+ <font face="arial,helvetica,sans serif">
+ <nobr><a href="doc.$_" target="doc">$(e.fullname)</a></nobr>
+ </font>
+ </td>
+ </tr>
+ <<
+ }
+ } else {
+ >>
+ <tr>
+ <td colspan="2">
+ <font face="arial,helvetica,sans serif">
+ <nobr><i>No Global Variables defined.</i></nobr>
+ </font>
+ </td>
+ </tr>
+ <<
}
- print join( ', ', @t );
->>
- </td>
- </tr>
-<<
- }
-
- # Output class member variable documentation
- if ($c->membervars()) {
->>
- <tr>
- <td bgcolor="#cccccc" align="left" colspan="2">Class Variables</td>
- </tr>
-<<
- foreach $m ($c->membervars()) { &variable( $m ); }
- }
- # Output class member function documentation
- if ($c->memberfuncs()) {
->>
- <tr>
- <td bgcolor="#cccccc" align="left" colspan="2">Class Functions</td>
- </tr>
-<<
- foreach $m ($c->memberfuncs()) { &function( $m ); }
- }
->>
- <tr><td bgcolor="#999999" height="4" colspan="2"> </td></tr>
- </table>
-<<
+ >>
+ </table>
+ <hr>
+ <font size="-2" face="arial,helvetica,sans serif">
+ <div align="center">
+ Copyright © $copyright.<br>
+ All Rights Reserved.<br>
+ </div>
+ </font>
+ </body>
+ </html>
+ <<
}
-
-# Output global variables
-if ($p->globalvars()) {
->>
- <table width="100%" bgcolor="#999999" border="0" cellspacing="1" cellpadding="0">
- <tr>
- <td bgcolor="#ccffcc" align="center" colspan="2"><nobr><b>Global
Variables:</b></nobr></td>
- </tr>
-<<
- foreach $m ($p->globalvars()) { &variable( $m ); }
->>
- <tr><td bgcolor="#999999" height="4" colspan="2"> </td></tr>
- </table>
-<<
-}
-
-# Output global functions
-if ($p->globalfuncs()) {
->>
- <table width="100%" bgcolor="#999999" border="0" cellspacing="1" cellpadding="0">
- <tr>
- <td bgcolor="#ccffcc" align="center" colspan="2"><nobr><b>Global
Functions:</b></nobr></td>
- </tr>
-<<
- foreach $m ($p->globalfuncs()) { &function( $m ); }
->>
- <tr><td bgcolor="#999999" height="4" colspan="2"> </td></tr>
- </table>
-<<
-}
-
->>
- <table width="100%" bgcolor="#999999" border="0" cellspacing="1" cellpadding="0">
- <tr><td bgcolor="#999999" height="4"> </td></tr>
- <tr><td bgcolor="#666666" height="1"></td></tr>
- <tr>
- <td bgcolor="#999999" align="center">
- <font size="-1">
- Copyright © $copyright. All Rights Reserved.<br>
- Generated by <a href="$scandocURL"><b>ScanDoc
$majorVersion.$minorVersion</b></a>
- on $date<br>
- </font>
- </td>
- </tr>
- </table>
- </body>
-</html>
-<<
-} # end of foreach (packages) loop
-
-######################################################################
-## Subroutine to generate documentation for a member function or global function
-
-sub function {
- local ($f) = @_;
-
->>
- <tr>
- <td bgcolor="#ccccff" align="right" width="10%" valign="top">
- <nobr><a name="$(f.name)">$(f.fullname)</a></nobr>
- </td>
- <td bgcolor="#ffffff" align="left" width="90%">
-<<
-
- if ($f->keywords()) {
->>
- <!-- $(f.keywords) -->
-<<
- }
-
->>
- <dl>
- <dt>
- $(f.description)
- </dt>
-<<
-
- if ($f->params()) {
->>
- <dt><font size="-1"><b>Parameters</b></font></dt>
-<<
- foreach $a ($f->params()) {
->>
- <dd>
- <font size="-1">
- <b>$(a.name):</b>
- $(a.description)
- </font>
- </dd>
-<<
- }
- }
-
- if ($f->returnValue()) {
->>
- <dt><font size="-1"><b>Return Value</b></font></dt>
- <dd><font size="-1">$(f.returnValue)</font></dd>
-<<
- }
-
- if ($f->exceptions()) {
->>
- <dt><font size="-1"><b>Exceptions</b></font></dt>
-<<
- foreach $a ($f->exceptions()) {
->>
- <dd>
- <font size="-1">
- <b>$(a.name):</b>
- $(a.description)
- </font>
- </dd>
-<<
- }
- }
-
- if ($f->seealso()) {
->>
- <dt><font size="-1"><b>See Also</b></font></dt>
- <dd>
- <font size="-1">
-<<
- my @r = ();
- foreach $a ($f->seealso()) {
- my $name = $a->name();
- if ($url = $a->url()) {
- $_ = $url;
+###############################################################################
+# Generate the packages detailed description for each package #
+###############################################################################
+foreach $p (packages()) {
+ $_ = $p->url;
+ s/\s/_/g;
+ y/[A-Z]/[a-z]/;
+ file "doc.$_";
+ >>
+ <html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; iso-8859-1">
+ <title>$project - Packages List</title>
+ </head>
+ <body link="$body_link" vlink="$body_vlink" alink="$body_alink"
+ bgcolor="$body_bgcolor" text="$body_text">
+ <table width="100%" cellspacing="0" cellpadding="2" border="1">
+ <tr>
+ <td bgcolor="ccccff">
+ <table border="0" width="100%" cellspacing="0" cellpadding="0">
+ <tr>
+ <td bgcolor="ccccff" align="left">
+ <font size="+1" face="arial,helvetica,sans serif">
+ <b>$project</b>
+ </font>
+ </td>
+ <td bgcolor="ccccff" align="right">
+ <font size="+1" face="arial,helvetica,sans serif">
+ <b>$(p.name) package</b>
+ </font>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ <br>
+ <table width="100%" cellspacing="0" cellpadding="2" border="1">
+ <tr>
+ <td bgcolor="eeeeff" align="left">
+ <font face="arial,helvetica,sans serif">
+ <b>Classes</b>
+ </font>
+ </td>
+ </tr>
+ <<
+ foreach $e ($p->classes()) {
+ $_ = $e->url;
s/\s/_/g;
- push @r, "<a href=\"$_\">$name</a>";
- }
- else { push @r, $name; }
+ y/[A-Z]/[a-z]/;
+ >>
+ <tr>
+ <td>
+ <dl>
+ <dt>
+ <font face="arial,helvetica,sans serif">
+ <nobr><a href="$_">$(e.fullname)</a></nobr>
+ </font>
+ </dt>
+ <<
+ if ($e->members()) {
+ foreach $m ($e->members()) {
+ $_ = $m->url;
+ s/\s/_/g;
+ y/[A-Z]/[a-z]/;
+ >>
+ <dd>
+ <font size="-1" face="arial,helvetica,sans serif">
+ <nobr><a href="$_">$(m.fullname)</a></nobr>
+ </font>
+ </dd>
+ <<
+ }
+ }
+ >>
+ </dl>
+ </td>
+ </tr>
+ <<
}
- print join( ', ', @r );
->>
- </font>
- </dd>
-<<
- }
->>
- </dl>
- </td>
- </tr>
-<<
-}
-######################################################################
-
-## Subroutine to generate documentation for a member variable or global variable.
-
-sub variable {
- local ($v) = @_;
-
->>
- <tr>
- <td bgcolor="#ccccff" align="right" width="10%" valign="top">
- <nobr><a name="$(v.name)">$(v.fullname)</a></nobr>
- </td>
- <td bgcolor="#ffffff" align="left" width="90%">
-<<
-
- if ($v->keywords()) {
->>
- <!-- $(v.keywords) -->
-<<
- }
+ if ($p->globalfuncs()) {
+ >>
+ </table>
+ <br>
+ <table width="100%" cellspacing="0" cellpadding="2" border="1">
+ <tr>
+ <td bgcolor="eeeeff" align="left">
+ <font face="arial,helvetica,sans serif">
+ <b>Global Functions</b>
+ </font>
+ </td>
+ </tr>
+ <<
+ foreach $e ($p->globalfuncs()) {
+ $_ = $e->url;
+ s/\s/_/g;
+ y/[A-Z]/[a-z]/;
+ >>
+ <tr>
+ <td>
+ <font face="arial,helvetica,sans serif">
+ <nobr><a href="$_">$(e.fullname)</a></nobr>
+ </font>
+ </td>
+ </tr>
+ <<
+ }
+ }
->>
- <dl>
- <dt>
- $(v.description)
- </dt>
-<<
+ if ($p->globalvars()) {
+ >>
+ </table>
+ <br>
+ <table width="100%" cellspacing="0" cellpadding="2" border="1">
+ <tr>
+ <td bgcolor="eeeeff" align="left">
+ <font face="arial,helvetica,sans serif">
+ <b>Global Variables</b>
+ </font>
+ </td>
+ </tr>
+ <<
+ foreach $e ($p->globalvars()) {
+ $_ = $e->url;
+ s/\s/_/g;
+ y/[A-Z]/[a-z]/;
+ >>
+ <tr>
+ <td>
+ <font face="arial,helvetica,sans serif">
+ <nobr><a href="$_">$(e.fullname)</a></nobr>
+ </font>
+ </td>
+ </tr>
+ <<
+ }
+ }
- if ($v->seealso()) {
->>
- <dt><font size="-1"><b>See Also</b></font></dt>
- <dd>
- <font size="-1">
-<<
- my @r = ();
- foreach $a ($v->seealso()) {
- my $name = $a->name();
- if ($url = $a->url()) {
- $_ = $url;
- s/\s/_/g;
- push @r, "<a href=\"$_\">$name</a>";
- }
- else { push @r, $name; }
+ >>
+ </table>
+ <br>
+ <<
+
+
+
+
+ if ($p->globalfuncs()) {
+ >>
+ <table width="100%" cellspacing="0" cellpadding="2" border="1">
+ <tr>
+ <td bgcolor="ccccff" align="left">
+ <font size="+1" face="arial,helvetica,sans serif">
+ <b>Global Functions Detail:</b>
+ </font>
+ </td>
+ </tr>
+ </table>
+ <<
+ foreach $e ($p->globalfuncs()) {
+ $_ = $e->url;
+ s/\s/_/g;
+ y/[A-Z]/[a-z]/;
+ >>
+ <font size="+1" face="arial,helvetica,sans serif">
+ <b><a name="$(e.name)">$(e.name)</a></b>
+ </font>
+ <dl>
+ <dt><code>$(e.fullname)</code></dt>
+ <dd>
+ <dl>
+ <dt>$(e.description)</dt>
+ <<
+ if ($e->params()) {
+ >>
+ <dt><b>Parameters</b></dt>
+ <<
+ foreach $a ($e->params()) {
+ >>
+ <dd>
+ <code>$(a.name)</code>
+ $(a.description)
+ </dd>
+ <<
+ }
+ }
+ if ($e->returnValue()) {
+ >>
+ <dt><b>Return Value</b></dt>
+ <dd>$(e.returnValue)</dd>
+ <<
+ }
+ if ($e->exceptions()) {
+ >>
+ <dt><b>Exceptions</b></dt>
+ <<
+ foreach $a ($e->exceptions()) {
+ >>
+ <dd>
+ <code>$(a.name)</code>
+ $(a.description)
+ </dd>
+ <<
+ }
+ }
+ >>
+ </dl>
+ </dd>
+ </dl>
+ <hr>
+ <<
+ }
}
- print join( ', ', @r );
->>
- </font>
- </dd>
-<<
- }
->>
- </dl>
- </td>
- </tr>
-<<
+ >>
+ <font size="-2">
+ Copyright © $copyright. All Rights Reserved.<br>
+ Generated by <a href="$scandocURL"><b>ScanDoc
+ $majorVersion.$minorVersion</b></a> on $date
+ </font>
+ </body>
+ </html>
+ <<
}