#!/usr/bin/perl use File::Copy; #get target directory and list the files my $nav = $ARGV[0]; my $topdir = $ARGV[1]; my $dir = $ARGV[2]; my $outdir = $ARGV[3]; opendir $dirhandle, $dir or die "Couldn't open dir $dir: $!"; my @files = readdir $dirhandle; #list of files in $dir closedir $dirhandle; @files = sort(@files); #for each .html file in the target, do: foreach $file (@files) { if ($file =~ /([^\/]+).html$/) { my $infile = "$dir/$file"; my $outfile = "$outdir/$1.php"; print("$file -> $1.php\n"); open $filehandle, "<", $infile or die "Couldn't read file: $!"; open $outfile, ">", $outfile or die "Couldn't write file: $!"; while ($line = <$filehandle>) { $line =~ s/\.html/\.php/g; $line =~ s/\<\/?span[^\>]*?\>//g; $line =~ /

(.*?)<\/h1>/i; $head = $1; $line =~ s/style\=\"[^"]*\"//g; $line =~ s/\
//gi; $line =~ s/.*?\<table width="100%" class="header"\>/<?php\n include("$topdir\/tde-head-and-foot.php");\n doHeader("$head", "Documentation", "$nav", "$topdir\/");\n?>\n<STYLE>\n .question {font-weight:bold;}\n TD {padding-top:10px}\n<\/STYLE>\n\<table width="100%" class="header"\>/gi; $line =~ s/<\/body><\/html>/\n<?php\n doFooter();\n?>\n/gi; $line =~ s/[\x80-\xff]//g; $line =~ s/h1[^\>]*?\>/h2\>/gi; $line =~ s/\<\/div\>/\n\<\/div\>/gi; $line =~ s/Chapter(\d+)\./Chapter $1. /gi; print $outfile "$line\n"; } close $filehandle; close $outfile; } elsif ($file =~ /([^\/]+).png$/) { print("copying image $file\n"); copy("$dir/$file", "$outdir/$file"); } }