#!/perl/bin/perl
#
# SiteMap.pl -- create a .html sitemap from a .chm .hhc file.
use strict;
use warnings;
use diagnostics;
use HTML::TokeParser::Simple;
my $p = HTML::TokeParser::Simple->new($ARGV[0]);
my $indent = 0;
print "\n";
print "\n";
print "
\n";
print "$ARGV[0]\n";
print "\n";
print "\n";
print "Sitemap for $ARGV[0]
\n";
while (my $token = $p->get_token) {
if ($token->is_start_tag('ul')) {
myprint($indent,"\n");
$indent++;
}
elsif ($token->is_start_tag('li')) {
myprint($indent,"- ");
}
elsif ($token->is_end_tag('ul')) {
$indent--;
myprint($indent,"
\n");
}
elsif ($token->is_start_tag('param')) {
my $ref = $token->return_attr();
if ($$ref{'name'} eq 'Name') {
myprint(0,$$ref{'value'} . "\n");
}
}
}
print "\n";
print "\n";
sub myprint {
my $l = shift;
my $s = shift;
my $pad = ' ' x $l;
print "$pad$s";
}