diff options
Diffstat (limited to 'mkhtmlindex.pl')
-rw-r--r-- | mkhtmlindex.pl | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/mkhtmlindex.pl b/mkhtmlindex.pl new file mode 100644 index 0000000..1003091 --- /dev/null +++ b/mkhtmlindex.pl @@ -0,0 +1,103 @@ +#!/usr/bin/perl +# +# $XFree86: xc/config/util/mkhtmlindex.pl,v 1.2 2001/03/15 19:02:31 dawes Exp $ +# +# Copyright © 2000,2001 by VA Linux Systems, Inc. +# +# Generate index files for HTML man pages. +# +# Author: David Dawes <dawes@xfree86.org> +# + +# +# Best viewed with tabs set to 4 +# + +if ($#ARGV ne 0) { + print STDERR "Usage: mkhtmlindex.pl htmlmandir\n"; + exit 1; +} + +$dir = $ARGV[0]; + +if (! -d $dir) { + print STDERR "$dir is not a directory\n"; + exit 1; +} + +@vollist = ("1", "2", "3", "4", "5", "6", "7", "8", "9", "o", "l", "n", "p"); + +$indexprefix = "manindex"; + +foreach $vol (@vollist) { + $empty = "yes"; + $indexname="$dir/$indexprefix$vol.html"; + + # print "Processing volume $vol\n"; + + open(mindex, ">$indexname") || die "Can't create $indexname"; + opendir(dir, "$dir") || die "Can't open $dir"; + + print mindex <<EOF; +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> +<TITLE>X.Org Manual pages: Section $vol</TITLE> +</HEAD> +<BODY BGCOLOR="#efefef" TEXT="black" LINK="blue" VLINK="#551A8B" ALINK="red"> + +<H1>X.Org Manual pages: Section $vol</H1> +<P> +<UL> +EOF + + foreach $file (sort readdir dir) { + if ($file =~ "\.$vol\.html") { + open(file, "<$dir/$file") || die "Can't open $dir/$file"; + while (<file>) { + chop; + if (/^<[hH]2>/) { + if (! /<\/[hH]2>$/) { + while (<file> && ! /<\/[hH]2>$/) { + ; + } + } + $heading = ""; + while (<file>) { + if (/^<[hH]2>/) { + last; + } + $heading = "$heading" . "$_"; + } + if ($heading) { + undef $empty; + $heading =~ s/--/-/; + ($name, $descr) = split(/-/, $heading, 2); + $file =~ /(.*)\.$vol\.html/; + $fname = $1; + $descr =~ s/<[pP]>//g; + print mindex + "<LI><A href=\"$file\">$fname</A> - $descr</LI>"; + } + last; + } + } + close file; + } + } + + print mindex <<EOF; +</UL> +<P> +</BODY> +</HTML> +EOF + + close mindex; + closedir dir; + if (defined $empty) { + # print "Removing empty $indexname\n"; + unlink $indexname; + } +} |