From 3b59d1e722f7e927df28c30c79e2a5d961da6528 Mon Sep 17 00:00:00 2001 From: d0p1 Date: Sun, 5 Oct 2025 19:55:40 +0200 Subject: [PATCH] refactor: drop FramedHTML --- JavaScript/NaturalDocs.js | 13 +- Modules/NaturalDocs/Builder.pm | 3 +- Modules/NaturalDocs/Builder/Base.pm | 5 +- Modules/NaturalDocs/Builder/FramedHTML.pm | 354 ---------------------- Modules/NaturalDocs/Builder/HTMLBase.pm | 10 +- 5 files changed, 11 insertions(+), 374 deletions(-) delete mode 100644 Modules/NaturalDocs/Builder/FramedHTML.pm diff --git a/JavaScript/NaturalDocs.js b/JavaScript/NaturalDocs.js index 3f42acd..fd280eb 100644 --- a/JavaScript/NaturalDocs.js +++ b/JavaScript/NaturalDocs.js @@ -1,4 +1,4 @@ -// This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure +// This file is part of Natural Docs, which is Copyright � 2003-2010 Greg Valure // Natural Docs is licensed under version 3 of the GNU Affero General Public License (AGPL) // Refer to License.txt for the complete details @@ -331,7 +331,7 @@ function NDDoResize() name - The name of the global variable that will be storing this instance. Is needed to be able to set timeouts. mode - The mode the search is going to work in. Pass CommandLineOption()>, so the - value will be something like "HTML" or "FramedHTML". + value will be something like "HTML". ________________________________________________________________________________________________________ */ @@ -354,7 +354,7 @@ function SearchPanel(name, mode, resultsPath) /* var: mode - The mode the search is going to work in, such as "HTML" or "FramedHTML". + The mode the search is going to work in, such as "HTML". */ this.mode = mode; @@ -559,8 +559,6 @@ function SearchPanel(name, mode, resultsPath) var resultsFrame; if (this.mode == "HTML") { resultsFrame = window.frames.MSearchResults; } - else if (this.mode == "FramedHTML") - { resultsFrame = window.top.frames['Content']; }; if (resultsPage != this.lastResultsPage || @@ -693,7 +691,7 @@ function SearchResults(name, mode) { /* var: mode - The mode the search is going to work in, such as "HTML" or "FramedHTML". + The mode the search is going to work in, such as "HTML". */ this.mode = mode; @@ -710,9 +708,6 @@ function SearchResults(name, mode) */ this.Toggle = function(id) { - if (this.mode == "FramedHTML") - { return; }; - var parentElement = document.getElementById(id); var element = parentElement.firstChild; diff --git a/Modules/NaturalDocs/Builder.pm b/Modules/NaturalDocs/Builder.pm index e8b1cd3..fc3f89e 100644 --- a/Modules/NaturalDocs/Builder.pm +++ b/Modules/NaturalDocs/Builder.pm @@ -18,7 +18,7 @@ # ############################################################################### -# This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure +# This file is part of Natural Docs, which is Copyright � 2003-2010 Greg Valure # Natural Docs is licensed under version 3 of the GNU Affero General Public License (AGPL) # Refer to License.txt for the complete details @@ -28,7 +28,6 @@ use integer; use NaturalDocs::Builder::Base; use NaturalDocs::Builder::HTML; -use NaturalDocs::Builder::FramedHTML; package NaturalDocs::Builder; diff --git a/Modules/NaturalDocs/Builder/Base.pm b/Modules/NaturalDocs/Builder/Base.pm index 75b3fd3..d4d7be7 100644 --- a/Modules/NaturalDocs/Builder/Base.pm +++ b/Modules/NaturalDocs/Builder/Base.pm @@ -8,7 +8,7 @@ # ############################################################################### -# This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure +# This file is part of Natural Docs, which is Copyright � 2003-2010 Greg Valure # Natural Docs is licensed under version 3 of the GNU Affero General Public License (AGPL) # Refer to License.txt for the complete details @@ -83,8 +83,7 @@ package NaturalDocs::Builder::Base; # # Multiple Output Files, Menu in File: # -# This example is for when you want to build one output file per source file, but keep the menu in its own separate file. This -# is how works. +# This example is for when you want to build one output file per source file, but keep the menu in its own separate file. # # isn't important. You don't need to implement it. # diff --git a/Modules/NaturalDocs/Builder/FramedHTML.pm b/Modules/NaturalDocs/Builder/FramedHTML.pm deleted file mode 100644 index c29528a..0000000 --- a/Modules/NaturalDocs/Builder/FramedHTML.pm +++ /dev/null @@ -1,354 +0,0 @@ -############################################################################### -# -# Package: NaturalDocs::Builder::FramedHTML -# -############################################################################### -# -# A package that generates output in HTML with frames. -# -# All functions are called with Package->Function() notation. -# -############################################################################### - -# This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure -# Natural Docs is licensed under version 3 of the GNU Affero General Public License (AGPL) -# Refer to License.txt for the complete details - - -use strict; -use integer; - -package NaturalDocs::Builder::FramedHTML; - -use base 'NaturalDocs::Builder::HTMLBase'; - - -############################################################################### -# Group: Implemented Interface Functions - - -# -# Function: INIT -# -# Registers the package with . -# -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 'FramedHTML'; - }; - - -# -# Function: BuildFile -# -# Builds the output file from the parsed source file. -# -# Parameters: -# -# sourcefile - The of the source file. -# parsedFile - An arrayref of the source file as 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"; - }; - - binmode(OUTPUTFILEHANDLE, ':encoding(UTF-8)'); - my $usePrettify = (NaturalDocs::Settings->HighlightCode() || NaturalDocs::Settings->HighlightAnonymous()); - - - print OUTPUTFILEHANDLE - - # IE 6 doesn't like any doctype here at all. Add one (strict or transitional doesn't matter) and it makes the page slightly too - # wide for the frame. Mozilla and Opera handle it like champs either way because they Don't Suck(tm). - - # '' . "\n\n" - - '' - - . '' - - . '' - . $self->BuildTitle($sourceFile) - . '' - - . '' - - . ''; - - if ($usePrettify) - { - print OUTPUTFILEHANDLE - ''; - } - - print OUTPUTFILEHANDLE - '' - . $self->OpeningBrowserStyles() - - . $self->StandardComments() - - . "\n\n\n" - . $self->BuildContent($sourceFile, $parsedFile) - . "\n\n\n" - - . $self->BuildToolTips() - - . $self->ClosingBrowserStyles() - . ''; - - - close(OUTPUTFILEHANDLE); - }; - - -# -# Function: BuildIndex -# -# Builds an index for the passed type. -# -# Parameters: -# -# type - The 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 $startIndexPage = - - '' . "\n\n" - - . '' - - . '' - - . ''; - - if (defined NaturalDocs::Menu->Title()) - { $startIndexPage .= $self->StringToHTML(NaturalDocs::Menu->Title()) . ' - '; }; - - $startIndexPage .= - $indexTitle - . '' - - . '' - - . '' - - . '' - . $self->OpeningBrowserStyles() - - . "\n\n\n" - . $self->StandardComments() - . "\n\n\n" - . '
' - . '
' - . $indexTitle - . '
'; - - - my $endIndexPage = - - '
' - . "\n\n\n" - - . $self->ClosingBrowserStyles() - - . ''; - - my $startSearchResultsPage = - - '' . "\n\n" - - . '' - - . '' - - . '' - - . '' - . '' - - . '' - . $self->OpeningBrowserStyles() - - . "\n\n\n" - . $self->StandardComments() - . "\n\n\n" - - . '
' - . '
' - . 'Search Results' - . '
'; - - my $endSearchResultsPage = - - '
' - . "\n\n\n" - - . $self->ClosingBrowserStyles() - - . ''; - - my $indexContent = NaturalDocs::SymbolTable->Index($type); - my $pageCount = $self->BuildIndexPages($type, $indexContent, $startIndexPage, $endIndexPage, - $startSearchResultsPage, $endSearchResultsPage); - $self->PurgeIndexFiles($type, $indexContent, $pageCount + 1); - }; - - -# -# Function: UpdateMenu -# -# Builds the menu file. Also generates index.html. -# -sub UpdateMenu - { - my $self = shift; - - my $outputDirectory = NaturalDocs::Settings->OutputDirectoryOf($self); - my $outputFile = NaturalDocs::File->JoinPaths($outputDirectory, 'menu.html'); - - - open(OUTPUTFILEHANDLE, '>' . $outputFile) - or die "Couldn't create output file " . $outputFile . "\n"; - - binmode(OUTPUTFILEHANDLE, ':encoding(UTF-8)'); - - my $title = 'Menu'; - if (defined $title) - { $title .= ' - ' . NaturalDocs::Menu->Title(); }; - - $title = $self->StringToHTML($title); - - - print OUTPUTFILEHANDLE - - '' . "\n\n" - - . '' - - . '' - - . '' - . $title - . '' - - . '' - - . '' - - . '' - . '' - - . '' - . $self->OpeningBrowserStyles() - - . $self->StandardComments() - - . "\n\n\n" - . $self->BuildMenu(undef, undef) - . "\n\n\n" - . $self->BuildFooter(1) - . "\n\n\n" - - . $self->ClosingBrowserStyles() - . ''; - - - close(OUTPUTFILEHANDLE); - - - # 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"; - - binmode(OUTPUTFILEHANDLE, ':encoding(UTF-8)'); - - print INDEXFILEHANDLE - - '' - - . '' - - . '' - - . '' - - . '' - . $self->StringToHTML(NaturalDocs::Menu->Title()) - . '' - - . '' - - . $self->StandardComments() - - . '' - . '' - . '' - . '' - - . '' - . 'This documentation was designed for use with frames. However, you can still use it by ' - . '<a href="menu.html">starting from the menu page</a>.' - . "<script language=JavaScript><!--\n" - . 'location.href="menu.html";' - . "\n// --></script>" - . '' - - . ''; - - close INDEXFILEHANDLE; - } - - elsif (-e $indexFile) - { - unlink($indexFile); - }; - }; - - -1; diff --git a/Modules/NaturalDocs/Builder/HTMLBase.pm b/Modules/NaturalDocs/Builder/HTMLBase.pm index bdd94bb..40bf87f 100644 --- a/Modules/NaturalDocs/Builder/HTMLBase.pm +++ b/Modules/NaturalDocs/Builder/HTMLBase.pm @@ -4,12 +4,11 @@ # ############################################################################### # -# A base package for all the shared functionality in and -# . +# A base package for all the shared functionality in # ############################################################################### -# This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure +# This file is part of Natural Docs, which is Copyright � 2003-2010 Greg Valure # Natural Docs is licensed under version 3 of the GNU Affero General Public License (AGPL) # Refer to License.txt for the complete details @@ -907,8 +906,7 @@ sub BuildMenuSegment #(outputDirectory, menuSegment, topLevel) '