about summary refs log tree commit diff
path: root/docs/doctool/Modules/NaturalDocs/Builder/HTML.pm
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-01-17 12:56:19 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-01-17 12:56:19 +0000
commite42c493d0c294ccb0a314c8447818c8d613195df (patch)
tree27e56d9415313ddccdb1550da64ed3ef80b1dcca /docs/doctool/Modules/NaturalDocs/Builder/HTML.pm
parent037569c4e52f37196275dbafec670f54da249cf8 (diff)
downloadzcatch-e42c493d0c294ccb0a314c8447818c8d613195df.tar.gz
zcatch-e42c493d0c294ccb0a314c8447818c8d613195df.zip
removed olds docs
Diffstat (limited to 'docs/doctool/Modules/NaturalDocs/Builder/HTML.pm')
-rw-r--r--docs/doctool/Modules/NaturalDocs/Builder/HTML.pm363
1 files changed, 0 insertions, 363 deletions
diff --git a/docs/doctool/Modules/NaturalDocs/Builder/HTML.pm b/docs/doctool/Modules/NaturalDocs/Builder/HTML.pm
deleted file mode 100644
index 92b4bd7f..00000000
--- a/docs/doctool/Modules/NaturalDocs/Builder/HTML.pm
+++ /dev/null
@@ -1,363 +0,0 @@
-###############################################################################
-#
-#   Package: NaturalDocs::Builder::HTML
-#
-###############################################################################
-#
-#   A package that generates output in HTML.
-#
-#   All functions are called with Package->Function() notation.
-#
-###############################################################################
-
-# This file is part of Natural Docs, which is Copyright (C) 2003-2005 Greg Valure
-# Natural Docs is licensed under the GPL
-
-
-use strict;
-use integer;
-
-package NaturalDocs::Builder::HTML;
-
-use base 'NaturalDocs::Builder::HTMLBase';
-
-
-###############################################################################
-# Group: Implemented Interface Functions
-
-
-#
-#   Function: INIT
-#
-#   Registers the package with <NaturalDocs::Builder>.
-#
-sub INIT
-    {
-    NaturalDocs::Builder->Add(__PACKAGE__);
-    };
-
-
-#
-#   Function: CommandLineOption
-#
-#   Returns the option to follow -o to use this package.  In this case, "html".
-#
-sub CommandLineOption
-    {
-    return 'HTML';
-    };
-
-
-#
-#   Function: BuildFile
-#
-#   Builds the output file from the parsed source file.
-#
-#   Parameters:
-#
-#       sourcefile       - The <FileName> of the source file.
-#       parsedFile      - An arrayref of the source file as <NaturalDocs::Parser::ParsedTopic> objects.
-#
-sub BuildFile #(sourceFile, parsedFile)
-    {
-    my ($self, $sourceFile, $parsedFile) = @_;
-
-    my $outputFile = $self->OutputFileOf($sourceFile);
-
-
-    # 99.99% of the time the output directory will already exist, so this will actually be more efficient.  It only won't exist
-    # if a new file was added in a new subdirectory and this is the first time that file was ever parsed.
-    if (!open(OUTPUTFILEHANDLE, '>' . $outputFile))
-        {
-        NaturalDocs::File->CreatePath( NaturalDocs::File->NoFileName($outputFile) );
-
-        open(OUTPUTFILEHANDLE, '>' . $outputFile)
-            or die "Couldn't create output file " . $outputFile . "\n";
-        };
-
-    print OUTPUTFILEHANDLE
-
-
-        '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" '
-            . '"http://www.w3.org/TR/REC-html40/strict.dtd">' . "\n\n"
-
-        . '<html><head>'
-
-            . (NaturalDocs::Settings->CharSet() ?
-                '<meta http-equiv="Content-Type" content="text/html; charset=' . NaturalDocs::Settings->CharSet() . '">' : '')
-
-            . '<title>'
-                . $self->BuildTitle($sourceFile)
-            . '</title>'
-
-            . '<link rel="stylesheet" type="text/css" href="' . $self->MakeRelativeURL($outputFile, $self->MainCSSFile(), 1) . '">'
-
-            . '<script language=JavaScript src="' . $self->MakeRelativeURL($outputFile, $self->MainJavaScriptFile(), 1) . '"></script>'
-
-        . '</head><body class=UnframedPage onLoad="NDOnLoad()">'
-            . $self->OpeningBrowserStyles()
-
-        . $self->StandardComments()
-
-        # I originally had this part done in CSS, but there were too many problems.  Back to good old HTML tables.
-        . '<table border=0 cellspacing=0 cellpadding=0 width=100%><tr>'
-
-            . '<td class=MenuSection valign=top>'
-
-                . $self->BuildMenu($sourceFile, undef, undef)
-
-            . '</td>' . "\n\n"
-
-            . '<td class=ContentSection valign=top>'
-
-                . $self->BuildContent($sourceFile, $parsedFile)
-
-            . '</td>' . "\n\n"
-
-        . '</tr></table>'
-
-        . '<div class=Footer>'
-            . $self->BuildFooter()
-        . '</div>'
-
-        . $self->BuildToolTips()
-
-            . $self->ClosingBrowserStyles()
-        . '</body></html>';
-
-
-    close(OUTPUTFILEHANDLE);
-    };
-
-
-#
-#   Function: BuildIndex
-#
-#   Builds an index for the passed type.
-#
-#   Parameters:
-#
-#       type  - The <TopicType> to limit the index to, or undef if none.
-#
-sub BuildIndex #(type)
-    {
-    my ($self, $type) = @_;
-
-    my $indexTitle = $self->IndexTitleOf($type);
-    my $indexFile = $self->IndexFileOf($type);
-
-    my $startPage =
-
-        '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" '
-            . '"http://www.w3.org/TR/REC-html40/strict.dtd">' . "\n\n"
-
-        . '<html><head>'
-
-            . (NaturalDocs::Settings->CharSet() ?
-                '<meta http-equiv="Content-Type" content="text/html; charset=' . NaturalDocs::Settings->CharSet() . '">' : '')
-
-            . '<title>'
-                . $indexTitle;
-
-                if (defined NaturalDocs::Menu->Title())
-                    {  $startPage .= ' - ' . $self->StringToHTML(NaturalDocs::Menu->Title());  };
-
-            $startPage .=
-            '</title>'
-
-            . '<link rel="stylesheet" type="text/css" href="' . $self->MakeRelativeURL($indexFile, $self->MainCSSFile(), 1) . '">'
-
-            . '<script language=JavaScript src="' . $self->MakeRelativeURL($indexFile, $self->MainJavaScriptFile(), 1) . '"></script>'
-
-        . '</head><body class=UnframedPage onLoad="NDOnLoad()">'
-            . $self->OpeningBrowserStyles()
-
-        . $self->StandardComments()
-
-        # I originally had this part done in CSS, but there were too many problems.  Back to good old HTML tables.
-        . '<table border=0 cellspacing=0 cellpadding=0 width=100%><tr>'
-
-            . '<td class=MenuSection valign=top>'
-
-                . $self->BuildMenu(undef, $type, undef)
-
-            . '</td>'
-
-            . '<td class=IndexSection valign=top>'
-                . '<div class=IPageTitle>'
-                    . $indexTitle
-                . '</div>';
-
-
-    my $endPage =
-            '</td>'
-
-        . '</tr></table>'
-
-        . '<div class=Footer>'
-            . $self->BuildFooter()
-        . '</div>'
-
-            . $self->ClosingBrowserStyles()
-        . '</body></html>';
-
-
-    my $pageCount = $self->BuildIndexPages($type, NaturalDocs::SymbolTable->Index($type), $startPage, $endPage);
-    $self->PurgeIndexFiles($type, $pageCount + 1);
-    };
-
-
-#
-#   Function: UpdateMenu
-#
-#   Updates the menu in all the output files that weren't rebuilt.  Also generates index.html.
-#
-sub UpdateMenu
-    {
-    my $self = shift;
-
-
-    # Update the menu on unbuilt files.
-
-    my $filesToUpdate = NaturalDocs::Project->UnbuiltFilesWithContent();
-
-    foreach my $sourceFile (keys %$filesToUpdate)
-        {
-        $self->UpdateFile($sourceFile);
-        };
-
-
-    # Update the menu on unchanged index files.
-
-    my $indexes = NaturalDocs::Menu->Indexes();
-
-    foreach my $index (keys %$indexes)
-        {
-        if (!NaturalDocs::SymbolTable->IndexChanged($index))
-            {
-            $self->UpdateIndex($index);
-            };
-        };
-
-
-    # Update index.html
-
-    my $firstMenuEntry = $self->FindFirstFile();
-    my $indexFile = NaturalDocs::File->JoinPaths( NaturalDocs::Settings->OutputDirectoryOf($self), 'index.html' );
-
-    # We have to check because it's possible that there may be no files with Natural Docs content and thus no files on the menu.
-    if (defined $firstMenuEntry)
-        {
-        open(INDEXFILEHANDLE, '>' . $indexFile)
-            or die "Couldn't create output file " . $indexFile . ".\n";
-
-        print INDEXFILEHANDLE
-        '<html><head>'
-             . '<meta http-equiv="Refresh" CONTENT="0; URL='
-                 . $self->MakeRelativeURL( NaturalDocs::File->JoinPaths( NaturalDocs::Settings->OutputDirectoryOf($self), 'index.html'),
-                                                        $self->OutputFileOf($firstMenuEntry->Target()), 1 ) . '">'
-        . '</head></html>';
-
-        close INDEXFILEHANDLE;
-        }
-
-    elsif (-e $indexFile)
-        {
-        unlink($indexFile);
-        };
-    };
-
-
-
-###############################################################################
-# Group: Support Functions
-
-
-#
-#   Function: UpdateFile
-#
-#   Updates an output file.  Replaces the menu, HTML title, and footer.  It opens the output file, makes the changes, and saves it
-#   back to disk, which is much quicker than rebuilding the file from scratch if these were the only things that changed.
-#
-#   Parameters:
-#
-#       sourceFile - The source <FileName>.
-#
-sub UpdateFile #(sourceFile)
-    {
-    my ($self, $sourceFile) = @_;
-
-    my $outputFile = $self->OutputFileOf($sourceFile);
-
-    if (open(OUTPUTFILEHANDLE, '<' . $outputFile))
-        {
-        my $content;
-
-        read(OUTPUTFILEHANDLE, $content, -s OUTPUTFILEHANDLE);
-        close(OUTPUTFILEHANDLE);
-
-
-        $content =~ s{<title>[^<]*<\/title>}{'<title>' . $self->BuildTitle($sourceFile) . '</title>'}e;
-
-        $content =~ s/<!--START_ND_MENU-->.*?<!--END_ND_MENU-->/$self->BuildMenu($sourceFile, undef, undef)/es;
-
-        $content =~ s/<!--START_ND_FOOTER-->.*?<!--END_ND_FOOTER-->/$self->BuildFooter()/e;
-
-
-        open(OUTPUTFILEHANDLE, '>' . $outputFile);
-        print OUTPUTFILEHANDLE $content;
-        close(OUTPUTFILEHANDLE);
-        };
-    };
-
-
-#
-#   Function: UpdateIndex
-#
-#   Updates an index's output file.  Replaces the menu and footer.  It opens the output file, makes the changes, and saves it
-#   back to disk, which is much quicker than rebuilding the file from scratch if these were the only things that changed.
-#
-#   Parameters:
-#
-#       type - The index <TopicType>, or undef if none.
-#
-sub UpdateIndex #(type)
-    {
-    my ($self, $type) = @_;
-
-    my $page = 1;
-
-    my $outputFile = $self->IndexFileOf($type, $page);
-
-    my $newMenu = $self->BuildMenu(undef, $type, undef);
-    my $newFooter = $self->BuildFooter();
-
-    while (-e $outputFile)
-        {
-        open(OUTPUTFILEHANDLE, '<' . $outputFile)
-            or die "Couldn't open output file " . $outputFile . ".\n";
-
-        my $content;
-
-        read(OUTPUTFILEHANDLE, $content, -s OUTPUTFILEHANDLE);
-        close(OUTPUTFILEHANDLE);
-
-
-        $content =~ s/<!--START_ND_MENU-->.*?<!--END_ND_MENU-->/$newMenu/es;
-
-        $content =~ s/<div class=Footer>.*<\/div>/"<div class=Footer>" . $newFooter . "<\/div>"/e;
-
-
-        open(OUTPUTFILEHANDLE, '>' . $outputFile)
-            or die "Couldn't save output file " . $outputFile . ".\n";
-
-        print OUTPUTFILEHANDLE $content;
-        close(OUTPUTFILEHANDLE);
-
-        $page++;
-        $outputFile = $self->IndexFileOf($type, $page);
-        };
-    };
-
-
-1;