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.
51 lines
1.8 KiB
51 lines
1.8 KiB
9 years ago
|
#!/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>(.*?)<\/h1>/i;
|
||
|
$head = $1;
|
||
|
$line =~ s/style\=\"[^"]*\"//g;
|
||
|
$line =~ s/\<div/\n\<p/gi;
|
||
|
$line =~ s/\<\/div>//gi;
|
||
|
$line =~ s/<html><head><title>.*?\<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");
|
||
|
}
|
||
|
}
|