package ActivePerl::DocTools::TOC::HTML; our $VERSION = '0.01'; use strict; use warnings; use base ('ActivePerl::DocTools::TOC'); my $indent = ' ' x 4; # constructs the simpler methods sub text { my ($text) = join '', map { "$_\n" } @_; return sub { $text }; } # extra info is tedious to collect -- is done in a subclass or something. sub extra { '' }; *header = text ("

Core Perl Documentation

","
"); sub before_pods { '' } *pod_separator = text('
'); sub pod { my ($self, $file) = @_; return _page($self->{'podz'}->{"Pod::$file"}, $file, $self->extra($file)); } sub after_pods { '' } *before_pragmas = text("

Pragmas

","
"); sub pragma { my ($self, $file) = @_; return _page($self->{'pragmaz'}->{$file}, $file, $self->extra($file)); } sub after_pragmas { '' } *before_libraries = text( "

Modules

","
"); *library_indent_open = sub {''}; # text(''); *library_indent_same = sub {''}; sub library { my ($self, $file, $showfile, $depth) = @_; return (($indent x $depth) . _page($self->{'filez'}->{$file}, $showfile, $self->extra($file))); } sub library_container { my ($self, $file, $showfile, $depth) = @_; return (($indent x $depth) . _folder($showfile)); } sub after_libraries { '' } *footer = text(""); sub _folder { my ($text) = @_; defined $text or die "no argument to _folder!"; return qq'* $text
\n'; } sub _page { my ($href, $text, $extra) = @_; die "bad arguments to _page: ($href, $text, $extra)" unless (defined $href and defined $text); defined $extra or $extra = ''; if ($extra ne '') { $extra = " $extra"; # just to make it EXACTLY identical to the old way. } return qq'* $text$extra
\n'; } sub boilerplate { # warn "boilerplate"; return boiler_header() . boiler_links(); } sub boiler_header { # warn "boiler_header"; return (< ActivePerl Help System Index

ActiveState!

HERE } sub boiler_links { # warn "boiler_links"; return (<

ActivePerl Documentation


* Welcome to ActivePerl
    * Release Notes
    * Readme
    * ActivePerl Change Log
    * Copyright Information
* ASPN Perl
* Install Notes
    * Linux
    * Solaris
    * Windows
* ActivePerl Components
    * Overview
    * PPM
    * Windows Specifics
       * OLE Browser
       * PerlScript
       * PerlScript Examples
       * Perl for ISAPI
       * PerlEz
* ActivePerl FAQ
    * Introduction
    * Availability & Install
    * Using PPM
    * Docs & Support
    * Bundled Modules
    * Windows Specifics
       * Perl for ISAPI
       * Windows 9X/NT/2000
       * Quirks
       * Web Server Config
       * Web Programming
       * Programming
       * Modules & Samples
       * Embedding & Extending
       * Using OLE with Perl
* Windows Scripting
    * Active Server Pages
    * Windows Script Host
    * Windows Script Components
HERE }