#!/usr/local/bin/perl5 # Copyright (c) 1998 by Marco Budde (Budde@tu-harburg.de) # GNU General Public License ############################################################## # sgmltools -> dhelp, dwww, index.html # # # # usage: sgml2dhelp # ############################################################## # server $ftp = 'ftp://hp00.rz.tu-harburg.de/pub/software/systems/pc/linux/dlhp'; # you $maintainer = 'Marco Budde (Budde@tu-harburg.de)'; # regexp to find the root html file of a document $file_expr = '^DE-(.+)[^0-9]\.html$'; # regexp to produce a link name from the file name $title_expr = '^DE-(.+)-HOWTO\.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); } ######################## # index.html support # ######################## sub write_index { print INDEX "\n"; print INDEX "
"; print INDEX "$linkname\n"; print INDEX "
$abstract

\n"; print INDEX "

\n"; print INDEX "Online
\n"; $filename =~ /(.*)\.html$/; print INDEX "ASCII,\n"; print INDEX "SGML,\n"; print INDEX "HTML,\n"; print INDEX "DVI,\n"; print INDEX "Postscript,\n"; print INDEX "Adobe PDF

\n"; print INDEX "

\n"; } ################ # main # ################ opendir (DIRHANDLE, '.'); @dircontent = readdir (DIRHANDLE); closedir (DIRHANDLE); open (INDEX, "> index.html"); print INDEX "\n\n"; print INDEX "DLHP: Übersicht der HOWTOs\n"; print INDEX "\n"; print INDEX "\"DLHP\"\n"; print INDEX "

Übersicht der HOWTOs

\n"; foreach $filename (sort @dircontent) { if ($filename =~ /$file_expr/) { if ($filename =~ /DE-HOWTO.html/) { $linkname = "HOWTO Index"; } else { $filename =~ /$title_expr/; $linkname = $1 . ' HOWTO'; } print "$filename\n"; &get_abstract; &write_index; } } print INDEX "\n
\n
\n"; print INDEX "Kommentare senden Sie bitte an $maintainer.\n"; $time = gmtime (time); print INDEX "
Diese Seite wurde $time GMT erzeugt.
\n"; print INDEX "\n\n"; close (INDEX); .