|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
# Scandoc template file.
|
|
Packit |
90a5c9 |
#
|
|
Packit |
90a5c9 |
# This is an example set of templates that is designed to create several
|
|
Packit |
90a5c9 |
# different kinds of index files. It generates a "master index" which intended
|
|
Packit |
90a5c9 |
# for use with a frames browser; A "package index" which is the root page of
|
|
Packit |
90a5c9 |
# the index, and then "package files" containing documentation for all of the
|
|
Packit |
90a5c9 |
# classes within a single package.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
######################################################################
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
## For quick and superficial customization,
|
|
Packit |
90a5c9 |
## simply change these variables
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
$project_name = '[Apache]';
|
|
Packit |
90a5c9 |
$company_logo = ''; # change this to an image tag.
|
|
Packit |
90a5c9 |
$copyright = '© 2000 [Apache Software Foundation]';
|
|
Packit |
90a5c9 |
$image_directory = "../images/";
|
|
Packit |
90a5c9 |
$bullet1_image = $image_directory . "ball1.gif";
|
|
Packit |
90a5c9 |
$bullet2_image = $image_directory . "ball2.gif";
|
|
Packit |
90a5c9 |
$bgcolor1 = "#FFFFFF";
|
|
Packit |
90a5c9 |
$bgcolor2 = "#FFFFFF";
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
######################################################################
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
## Begin generating frame index file.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
file "index.html";
|
|
Packit |
90a5c9 |
>><html>
|
|
Packit |
90a5c9 |
<head>
|
|
Packit |
90a5c9 |
<meta http-equiv="Content-Type" content="text/html; iso-8859-1">
|
|
Packit |
90a5c9 |
<title>$project_name</title>
|
|
Packit |
90a5c9 |
</head>
|
|
Packit |
90a5c9 |
<frameset cols="190,*">
|
|
Packit |
90a5c9 |
<frame src="master.html" name="Master Index" noresize>
|
|
Packit |
90a5c9 |
<frame src="packages.html" name="Documentation">
|
|
Packit |
90a5c9 |
<noframes>
|
|
Packit |
90a5c9 |
<body bgcolor="$bgcolor2" stylesrc="index.html">
|
|
Packit |
90a5c9 |
Some Documentation
|
|
Packit |
90a5c9 |
</body>
|
|
Packit |
90a5c9 |
</noframes>
|
|
Packit |
90a5c9 |
</frameset>
|
|
Packit |
90a5c9 |
</html>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
######################################################################
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
## Begin generating master index file (left-hand frame).
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
file "master.html";
|
|
Packit |
90a5c9 |
>><html>
|
|
Packit |
90a5c9 |
<head>
|
|
Packit |
90a5c9 |
<title>Master Index</title>
|
|
Packit |
90a5c9 |
</head>
|
|
Packit |
90a5c9 |
<body bgcolor="$bgcolor1" text=#0000ff link=#0020ff vlink=#0020ff>
|
|
Packit |
90a5c9 |
<center></center>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Master Index
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<font size="2">
|
|
Packit |
90a5c9 |
<nobr>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
## For each package, generate an index entry.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
foreach $p (packages()) {
|
|
Packit |
90a5c9 |
$_ = $p->url;
|
|
Packit |
90a5c9 |
s/\s/%20/g;
|
|
Packit |
90a5c9 |
>>$(p.name)
|
|
Packit |
90a5c9 |
<dir>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
foreach $e ($p->classes()) {
|
|
Packit |
90a5c9 |
$_ = $e->url;
|
|
Packit |
90a5c9 |
s/\s/%20/g;
|
|
Packit |
90a5c9 |
>>$(e.fullname)
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
foreach $e ($p->globals()) {
|
|
Packit |
90a5c9 |
$_ = $e->url;
|
|
Packit |
90a5c9 |
s/\s/%20/g;
|
|
Packit |
90a5c9 |
>>$(e.fullname)
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
>></dir><<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
To-Do List
|
|
Packit |
90a5c9 |
</nobr>
|
|
Packit |
90a5c9 |
</font>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
</body>
|
|
Packit |
90a5c9 |
</html>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
######################################################################
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
## Begin generating package index file
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
file "packages.html";
|
|
Packit |
90a5c9 |
>><html>
|
|
Packit |
90a5c9 |
<head>
|
|
Packit |
90a5c9 |
<title>$project_name -- Packages</title>
|
|
Packit |
90a5c9 |
</head>
|
|
Packit |
90a5c9 |
<body bgcolor="$bgcolor2">
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<center>$company_logo
|
|
Packit |
90a5c9 |
Documentation for $project_name
|
|
Packit |
90a5c9 |
</center>
|
|
Packit |
90a5c9 |
Package List
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
## For each package, generate an index entry.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
foreach $p (packages()) {
|
|
Packit |
90a5c9 |
$_ = $p->url;
|
|
Packit |
90a5c9 |
s/\s/%20/g;
|
|
Packit |
90a5c9 |
>>$(p.name)
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
$copyright
|
|
Packit |
90a5c9 |
Generated by ScanDoc $majorVersion.$minorVersion
|
|
Packit |
90a5c9 |
Last Updated: $date
|
|
Packit |
90a5c9 |
</body>
|
|
Packit |
90a5c9 |
</html>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
######################################################################
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
## Generate "To-do list"
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
file "to-do.html";
|
|
Packit |
90a5c9 |
>><html>
|
|
Packit |
90a5c9 |
<head>
|
|
Packit |
90a5c9 |
<title>$project_name -- To-Do list</title>
|
|
Packit |
90a5c9 |
</head>
|
|
Packit |
90a5c9 |
<body bgcolor="$bgcolor2">
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
$company_logo
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
To-do list for $project_name
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
if (&todolistFiles()) {
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
foreach $f (&todolistFiles()) {
|
|
Packit |
90a5c9 |
my @m = &todolistEntries( $f );
|
|
Packit |
90a5c9 |
if ($f =~ /([^\/]+)$/) { $f = $1; }
|
|
Packit |
90a5c9 |
>>$f:
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
foreach $text (@m) {
|
|
Packit |
90a5c9 |
if ($text) {
|
|
Packit |
90a5c9 |
print "", &processDescription( $text ), "\n";
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
$copyright
|
|
Packit |
90a5c9 |
Generated by ScanDoc $majorVersion.$minorVersion
|
|
Packit |
90a5c9 |
Last Updated: $date
|
|
Packit |
90a5c9 |
</body>
|
|
Packit |
90a5c9 |
</html>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
######################################################################
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
## Generate individual files for each package.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
my $p;
|
|
Packit |
90a5c9 |
foreach $p (packages()) {
|
|
Packit |
90a5c9 |
file $p->name() . ".html";
|
|
Packit |
90a5c9 |
>><html>
|
|
Packit |
90a5c9 |
<head>
|
|
Packit |
90a5c9 |
<title>$project_name -- $(p.name)</title>
|
|
Packit |
90a5c9 |
</head>
|
|
Packit |
90a5c9 |
<body bgcolor="$bgcolor2">
|
|
Packit |
90a5c9 |
<center>
|
|
Packit |
90a5c9 |
<font size=6>$project_name</font>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
</center>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Package Name: $(p.name)
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
## Generate class and member index at the top of the file.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
foreach $c ($p->classes()) {
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
$(c.fullname)
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
foreach $m ($c->members()) {
|
|
Packit |
90a5c9 |
>>$(m.longname)
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
## Generate detailed class documentation
|
|
Packit |
90a5c9 |
foreach $c ($p->classes()) {
|
|
Packit |
90a5c9 |
## Output searchable keyword list
|
|
Packit |
90a5c9 |
if ($c->keywords()) {
|
|
Packit |
90a5c9 |
print "\n";
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
$(c.fullname)
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Output author tag
|
|
Packit |
90a5c9 |
if ($c->author()) {
|
|
Packit |
90a5c9 |
>>Author:<<
|
|
Packit |
90a5c9 |
>>$(c.author)<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Output package version
|
|
Packit |
90a5c9 |
if ($c->version()) {
|
|
Packit |
90a5c9 |
>>Version:<<
|
|
Packit |
90a5c9 |
>>$(c.version)<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Output Source file
|
|
Packit |
90a5c9 |
if ($c->sourcefile()) {
|
|
Packit |
90a5c9 |
>>Source:<<
|
|
Packit |
90a5c9 |
>>$(c.sourcefile)<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Output base class list
|
|
Packit |
90a5c9 |
if ($c->baseclasses()) {
|
|
Packit |
90a5c9 |
>>Base classes:
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
my @t = ();
|
|
Packit |
90a5c9 |
foreach $b ($c->baseclasses()) {
|
|
Packit |
90a5c9 |
my $name = $b->name();
|
|
Packit |
90a5c9 |
if ($url = $b->url()) {
|
|
Packit |
90a5c9 |
push @t, "$name";
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
else { push @t, $name; }
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
print join( ', ', @t );
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Output subclasses list
|
|
Packit |
90a5c9 |
if ($c->subclasses()) {
|
|
Packit |
90a5c9 |
>>Subclasses:
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
my @t = ();
|
|
Packit |
90a5c9 |
foreach $s ($c->subclasses()) {
|
|
Packit |
90a5c9 |
my $name = $s->name();
|
|
Packit |
90a5c9 |
if ($url = $s->url()) {
|
|
Packit |
90a5c9 |
push @t, "$name";
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
else { push @t, $name; }
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
print join( ', ', @t );
|
|
Packit |
90a5c9 |
>><<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Output main class description
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
print &processDescription( $c->description() );
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Output "see also" information
|
|
Packit |
90a5c9 |
if ($c->seealso()) {
|
|
Packit |
90a5c9 |
>>See Also
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
my @r = ();
|
|
Packit |
90a5c9 |
foreach $a ($c->seealso()) {
|
|
Packit |
90a5c9 |
my $name = $a->name();
|
|
Packit |
90a5c9 |
if ($url = $a->url()) {
|
|
Packit |
90a5c9 |
push @r, "$name";
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
else { push @r, $name; }
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
print join( ',', @r );
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Output class member index
|
|
Packit |
90a5c9 |
if ($c->members()) {
|
|
Packit |
90a5c9 |
print "Member Index\n";
|
|
Packit |
90a5c9 |
print "
|
|
Packit |
90a5c9 |
foreach $m ($c->members()) {
|
|
Packit |
90a5c9 |
>>$(m.fullname)
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
>><<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Output class member variable documentation
|
|
Packit |
90a5c9 |
if ($c->membervars()) {
|
|
Packit |
90a5c9 |
print "Class Variables\n";
|
|
Packit |
90a5c9 |
print "\n";
|
|
Packit |
90a5c9 |
foreach $m ($c->membervars()) { &variable( $m ); }
|
|
Packit |
90a5c9 |
print "\n";
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Output class member function documentation
|
|
Packit |
90a5c9 |
if ($c->memberfuncs()) {
|
|
Packit |
90a5c9 |
print "Class Methods\n";
|
|
Packit |
90a5c9 |
print "\n";
|
|
Packit |
90a5c9 |
foreach $m ($c->memberfuncs()) { &function( $m ); }
|
|
Packit |
90a5c9 |
print "\n";
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Output global variables
|
|
Packit |
90a5c9 |
if ($p->globalvars()) {
|
|
Packit |
90a5c9 |
>>Global Variables
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
foreach $m ($p->globalvars()) { &variable( $m ); }
|
|
Packit |
90a5c9 |
print "\n";
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Output global functions
|
|
Packit |
90a5c9 |
if ($p->globalfuncs()) {
|
|
Packit |
90a5c9 |
>>Global Functions
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
foreach $m ($p->globalfuncs()) { &function( $m ); }
|
|
Packit |
90a5c9 |
print "\n";
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
$copyright
|
|
Packit |
90a5c9 |
Generated by ScanDoc $majorVersion.$minorVersion
|
|
Packit |
90a5c9 |
Last Updated: $date
|
|
Packit |
90a5c9 |
</body>
|
|
Packit |
90a5c9 |
</html>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
} # end of foreach (packages) loop
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
######################################################################
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
## Subroutine to generate documentation for a member function or global function
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
sub function {
|
|
Packit |
90a5c9 |
local ($f) = @_;
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
if ($f->keywords()) {
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
$(f.fullname);
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
print &processDescription( $f->description() );
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
if ($f->params()) {
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
Parameters
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
foreach $a ($f->params()) {
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
$(a.name)<<
|
|
Packit |
90a5c9 |
print &processDescription( $a->description() );
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
if ($f->returnValue()) {
|
|
Packit |
90a5c9 |
>>Return Value
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
print &processDescription( $f->returnValue() );
|
|
Packit |
90a5c9 |
>><<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
if ($f->exceptions()) {
|
|
Packit |
90a5c9 |
>>Exceptions
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
foreach $a ($f->exceptions()) {
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
$(a.name)<<
|
|
Packit |
90a5c9 |
print &processDescription( $a->description() );
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
if ($f->seealso()) {
|
|
Packit |
90a5c9 |
>>See Also
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
my @r = ();
|
|
Packit |
90a5c9 |
foreach $a ($f->seealso()) {
|
|
Packit |
90a5c9 |
my $name = $a->name();
|
|
Packit |
90a5c9 |
if ($url = $a->url()) {
|
|
Packit |
90a5c9 |
push @r, "$name";
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
else { push @r, $name; }
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
print join( ',', @r );
|
|
Packit |
90a5c9 |
>><<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
######################################################################
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
## Subroutine to generate documentation for a member variable or global variable.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
sub variable {
|
|
Packit |
90a5c9 |
local ($v) = @_;
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
if ($v->keywords()) {
|
|
Packit |
90a5c9 |
print "";
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
$(v.fullname);
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<print &processDescription( $v->description() );>>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
if ($v->seealso()) {
|
|
Packit |
90a5c9 |
>>See Also
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
$comma = 0;
|
|
Packit |
90a5c9 |
foreach $a ($v->seealso()) {
|
|
Packit |
90a5c9 |
if ($comma) { print ","; }
|
|
Packit |
90a5c9 |
$comma = 1;
|
|
Packit |
90a5c9 |
>>$(a.name)
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
>>
|
|
Packit |
90a5c9 |
<<
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
######################################################################
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
sub processDescription {
|
|
Packit |
90a5c9 |
local ($_) = @_;
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
s/^\s+//; # Remove whitespace from beginning
|
|
Packit |
90a5c9 |
s/\s+$/\n/; # Remove whitespace from end
|
|
Packit |
90a5c9 |
s/\n\n/\n/g; # Replace multiple CR's with paragraph markers
|
|
Packit |
90a5c9 |
s:\@heading(.*)\n:$1:; # Handle heading text
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
# Handle embedded image tags
|
|
Packit |
90a5c9 |
s:\@caution::;
|
|
Packit |
90a5c9 |
s:\@warning::;
|
|
Packit |
90a5c9 |
s:\@bug::;
|
|
Packit |
90a5c9 |
s:\@tip::;
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
return $_;
|
|
Packit |
90a5c9 |
}
|