You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
2.2 KiB

#!/usr/bin/perl
####################################################################################
# genindex.pl:
# Reads the source directory and creates an index.html with the link
# Author: Ram Viswanadha
#
####################################################################################
use File::Find;
use File::Basename;
use IO::File;
use Cwd;
use File::Copy;
use Getopt::Long;
use File::Path;
use File::Copy;
GetOptions(
"--sourcedir=s" => \$sourceDir,
"--destdir=s" => \$destDir,
"--href=s" => \$href
);
usage() unless defined $sourceDir;
usage() unless defined $destDir;
usage() unless defined $href;
# create list of html files
my @list;
if (@ARGV) {
@list = @ARGV;
foreach (@list) { $_ .= ".html" unless (/\.html$/i); }
} else {
opendir(DIR,$sourceDir);
@list = grep{/\.html$/} readdir(DIR);
closedir(DIR);
}
$outfile = $destDir."/index.html";
$outFH = IO::File->new($outfile,"w")
or die "could not open the file $outfile for writing: $! \n";
print $outFH "<html>\n";
print $outFH "\t<head>Index of all comparison charts</head>\n";
print $outFH "\t<body bgcolor=\"#FFFFFF\">\n";
print $outFH "\t\t<ul>\n";
# now convert
foreach $item (@list){
next if($item eq "." || $item eq ".." || $item eq "index.html");
($s1, $s2) = split(/\./,$item);
#grab the english translation
$inFH = IO::File->new($item,"r")
or die "could not open the file $outfile for reading: $! \n";
$fullName="";
while(defined ($line=<$inFH>)){
if($line =~ /.*?(\(.*\).*Cover Page.*)/){
$line =~ /.*?(\(.*\))/;
$fullName = $1;
if($fullName eq ""){
print $line."\n";
}
break;
}
}
print $outFH "\t\t\t<li><a href=\"$href/$item\">$s1</a> $fullName</li>\n";
close($inFH);
}
print $outFH "\t\t</ul>\n";
print $outFH "\t</body>\n";
print $outFH "</html>\n";
close($outFH);
#-----------------------------------------------------------------------
sub usage {
print << "END";
Usage:
txt2ldml.pl
Options:
--sourcedir=<directory>
--destdir=<directory>
--href=<The URL to be prepended>
END
exit(0);
}