#!/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 <dhelp section> <dwww section>    #
##############################################################

# 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 = <IN>)
  {
    if ($zw =~ /<P><HR><EM>(.*)/)
    {
      $abstract = $1;
      while ($zw !~ /<\/EM><HR><\/P>/)
      {
        $zw = <IN>;
        $abstract .= ' ' . $zw;
      } 
    }
  }
  $abstract =~ s/<\/EM><HR><\/P>//;
  close (IN);
}


########################
#  index.html support  #
########################

sub write_index
{

    print INDEX "<TABLE WIDTH=100% BORDER=0>\n";
    print INDEX "<TR><TD BGCOLOR=#701030>";
    print INDEX "<FONT COLOR=#FFFFFF><B>$linkname</B></FONT>\n";
    print INDEX "<TR><TD>$abstract<P>\n";
    print INDEX "<CENTER>\n";
    print INDEX "<A HREF=\"$filename\">Online</A><BR>\n";
    $filename =~ /(.*)\.html$/;
    print INDEX "<A HREF=\"$ftp/$1.txt.gz\">ASCII</A>,\n";
    print INDEX "<A HREF=\"$ftp/sgml/$1.sgml.gz\">SGML</A>,\n";
    print INDEX "<A HREF=\"$ftp/html/$1.html.tar.gz\">HTML</A>,\n";
    print INDEX "<A HREF=\"$ftp/dvi/$1.dvi.gz\">DVI</A>,\n";
    print INDEX "<A HREF=\"$ftp/ps/$1.ps.gz\">Postscript</A>,\n";
    print INDEX "<A HREF=\"$ftp/pdf/$1.pdf.gz\">Adobe PDF</A><P>\n";
    print INDEX "</CENTER></TABLE>\n";
}


################
#     main     #
################

opendir (DIRHANDLE, '.');
@dircontent = readdir (DIRHANDLE);
closedir (DIRHANDLE);

open (INDEX, "> index.html");
print INDEX "<HTML>\n<HEAD>\n";
print INDEX "<TITLE>DLHP: bersicht der HOWTOs</TITLE></HEAD>\n";
print INDEX "<BODY BACKGROUND=\"logo.gif\" BGCOLOR=FFFFFF>\n";
print INDEX "<IMG SRC=\"../dlhp.gif\" ALT=\"DLHP\">\n";
print INDEX "<H1>bersicht der HOWTOs</H1>\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<HR NOSHADE>\n<ADDRESS><SMALL>\n";
print INDEX "Kommentare senden Sie bitte an $maintainer.\n";
$time = gmtime (time);
print INDEX "<BR>Diese Seite wurde $time GMT erzeugt.</SMALL></ADDRESS>\n";
print INDEX "</BODY>\n</HTML>\n";
close (INDEX);

