#!/usr/bin/perl -w # Copyright (c) 1998 by Marco Budde (Budde@tu-harburg.de) # GNU General Public License ############################################################## # sgmltools -> dhelp, dwww, index.html # # # # usage: sgml2dhelp # ############################################################## # you $maintainer = 'Marco Budde (Budde@tu-harburg.de)'; # regexp to find the root html file of a document $file_expr = '^(.+)[^0-9]\.html$'; # regexp to produce a link name from the file name $title_expr = '^(.+)\.html$'; ############################## # get abstract of document # ############################## sub get_abstract { my $zw; open (IN, "< $filename") or die "can't open $filename!\n"; $abstract = ''; while ($zw = ) { if ($zw =~ /


(.*)/) { $abstract = $1; while ($zw !~ /<\/EM>
<\/P>/) { $zw = ; $abstract .= ' ' . $zw; } } } $abstract =~ s/<\/EM>
<\/P>//; close (IN); } ################## # write .dhelp # ################## sub write_dhelp { print DHELP "\n"; print DHELP "$ARGV[0]\n"; print DHELP "$linkname\n"; print DHELP "$filename\n"; print DHELP "\n$abstract\n\n"; print DHELP "\n\n"; } ######################### # .dwww-index support # ######################### sub dwww_pwd { $pwd = `pwd`; $pwd =~ /.*?\/usr\/doc\/*(.*)/; $pwd = $1; } sub write_dwww { print DWWW "#section $ARGV[1]\n"; print DWWW "
$linkname\n"; print DWWW "
$abstract\n\n"; } ######################## # index.html support # ######################## sub write_index { print INDEX "
$linkname\n"; print INDEX "
$abstract\n\n"; } ################ # main # ################ opendir (DIRHANDLE, '.'); @dircontent = readdir (DIRHANDLE); closedir (DIRHANDLE); open (DHELP, "> .dhelp"); open (INDEX, "> index.html"); print INDEX "\n\n
\n"; open (DWWW, "> .dwww-index"); &dwww_pwd; foreach $filename (sort @dircontent) { if ($filename =~ /$file_expr/) { $filename =~ /$title_expr/; $linkname = $1; print "$filename\n"; &get_abstract; &write_dhelp; &write_index; &write_dwww; } } close (DHELP); print INDEX "
\n
\n
\n"; print INDEX "Please send comments to $maintainer.\n"; $time = gmtime (time); print INDEX "
This page was created $time GMT.
\n"; print INDEX "\n\n"; close (INDEX); close (DWWW);