|
Packit Service |
b38f0b |
#!/usr/bin/perl
|
|
Packit Service |
b38f0b |
#
|
|
Packit Service |
b38f0b |
# Creates a .xhtml compliant index.html file
|
|
Packit Service |
b38f0b |
#
|
|
Packit Service |
b38f0b |
my $infile = shift @ARGV;
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
map { s/\.[0-9]$//; $pages{$_} = 1; } @ARGV;
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
open(I,$infile);
|
|
Packit Service |
b38f0b |
$first = 1;
|
|
Packit Service |
b38f0b |
print '
|
|
Packit Service |
b38f0b |
Man pages
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
';
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
while () {
|
|
Packit Service |
b38f0b |
if (/^#\s*(.*)/) {
|
|
Packit Service |
b38f0b |
print "\n" if (!$first);
|
|
Packit Service |
b38f0b |
print "$1\n";
|
|
Packit Service |
b38f0b |
print "\n";
|
|
Packit Service |
b38f0b |
$first = 0;
|
|
Packit Service |
b38f0b |
} else {
|
|
Packit Service |
b38f0b |
my $name = $_;
|
|
Packit Service |
b38f0b |
my $title;
|
|
Packit Service |
b38f0b |
chomp($name);
|
|
Packit Service |
b38f0b |
if (!exists($pages{$name})) {
|
|
Packit Service |
b38f0b |
print STDERR "$name is in $infile, but not in the rest of the args.\n";
|
|
Packit Service |
b38f0b |
print STDERR "Make sure it's not listed twice in $infile!\n";
|
|
Packit Service |
b38f0b |
}
|
|
Packit Service |
b38f0b |
open(H,"$name.html");
|
|
Packit Service |
b38f0b |
while (<H>) {
|
|
Packit Service |
b38f0b |
if (/(.*?)<\/h1>/i) {
|
|
Packit Service |
b38f0b |
$title = $1;
|
|
Packit Service |
b38f0b |
}
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
if (/NAME<\/h2>(.*)/i) {
|
|
Packit Service |
b38f0b |
$_ = $1;
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
# Ignore blank lines
|
|
Packit Service |
b38f0b |
while (/^\s*$/) {
|
|
Packit Service |
b38f0b |
$_ = <H>;
|
|
Packit Service |
b38f0b |
}
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
$title = $_;
|
|
Packit Service |
b38f0b |
chomp($title);
|
|
Packit Service |
b38f0b |
$title =~ s/\s*$name\s*-\s*//;
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
# Remove any complete <> tags
|
|
Packit Service |
b38f0b |
$title =~ s/<.*>//i;
|
|
Packit Service |
b38f0b |
# Remove any half open tags
|
|
Packit Service |
b38f0b |
$title =~ s/<.*//i;
|
|
Packit Service |
b38f0b |
}
|
|
Packit Service |
b38f0b |
}
|
|
Packit Service |
b38f0b |
close(H);
|
|
Packit Service |
b38f0b |
print " \n";
|
|
Packit Service |
b38f0b |
print " $name\n";
|
|
Packit Service |
b38f0b |
print " $title\n";
|
|
Packit Service |
b38f0b |
print " \n";
|
|
Packit Service |
b38f0b |
print "\n";
|
|
Packit Service |
b38f0b |
delete $pages{$name};
|
|
Packit Service |
b38f0b |
}
|
|
Packit Service |
b38f0b |
}
|
|
Packit Service |
b38f0b |
print '
|
|
Packit Service |
b38f0b |
';
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
@left = keys(%pages);
|
|
Packit Service |
b38f0b |
if ($#left > -1) {
|
|
Packit Service |
b38f0b |
print STDERR "missing a filing location for: ",
|
|
Packit Service |
b38f0b |
join(", ", @left), "\n";
|
|
Packit Service |
b38f0b |
}
|