mirror of
https://github.com/nwchemgit/nwchem.git
synced 2026-07-21 06:25:21 -04:00
192 lines
4.2 KiB
Perl
Executable file
192 lines
4.2 KiB
Perl
Executable file
#!/msrc/apps/bin/perl5
|
|
###########################
|
|
# latex2HTML wrapper script
|
|
# Pawel Wolinski
|
|
# pwolinsk@comp.uark.edu
|
|
# 5/21/97
|
|
###########################
|
|
|
|
#
|
|
# This script takes the output of htmlize (munged latex2html)
|
|
# and adds the frame based indexing
|
|
#
|
|
|
|
|
|
$input_dir =".";
|
|
$output_dir=".";
|
|
$title="NWChem User Documentation";
|
|
|
|
if ($ARGV[0] eq "") {&print_usage;exit(0);} else {$start_file=$ARGV[0];}
|
|
if ($ARGV[1] ne "") {$title=$ARGV[1];}
|
|
|
|
&make_contents_cover($input_dir,$output_dir,$start_file);
|
|
&make_manuals($output_dir,$title);
|
|
|
|
|
|
|
|
|
|
|
|
#-----------------------subroutines-------------------
|
|
sub make_contents_cover {
|
|
local ($in_dir,$out_dir,$start_f)=@_;
|
|
$r1=<<EOT;
|
|
.*<IMG ALIGN=BOTTOM ALT="next".*
|
|
<B>.*Next:</B>.*
|
|
<B>.*Up:</B>.*
|
|
<B>.*Previous:</B>.*</A>*.
|
|
EOT
|
|
|
|
$r2=<<EOT2;
|
|
<script>
|
|
var ontop=true;
|
|
function focus_me() {
|
|
if (ontop) {self.focus();}
|
|
}
|
|
function toggle_ontop() {
|
|
if (ontop==true) ontop=false;
|
|
else ontop=true;
|
|
focus_me();
|
|
}
|
|
function index() {
|
|
if (self.name=="contentsWin") {
|
|
self.opener.location="index.html";
|
|
self.close();
|
|
}
|
|
}
|
|
function windows_man() {
|
|
if (self.name=="contents_frame") {
|
|
top.location="windows_man.html";
|
|
}
|
|
}
|
|
</script>
|
|
EOT2
|
|
|
|
$r3=<<EOT5;
|
|
<table>
|
|
<tr>
|
|
<td><font size=-1><i><input type=\"button\" value=\"frames\" onClick=\"index()\"></i></font></td>
|
|
<td><font size=-1><i><input type=\"button\" value=\"windows\" onClick=\"windows_man()\"></i></font></td>
|
|
<td width=100%></td>
|
|
<td><font size=-1><i><input type=\"button\" value=\"on top\" onClick=\"toggle_ontop()\"></i></font></td>
|
|
</tr>
|
|
</table>
|
|
EOT5
|
|
if (!(open(F,"$in_dir/node2.html"))) {
|
|
print stderr "make_manual: Cannot find the contents file \"node2.html\" - terminating!\n\n";
|
|
exit(0);
|
|
}
|
|
close(F);
|
|
|
|
if (!(open(F,"$in_dir/$start_f"))) {
|
|
print stderr "make_manual: Cannot find the start file \"$start_f\" - terminating!\n\n";
|
|
exit(0);
|
|
}
|
|
close(F);
|
|
|
|
$contents=`cat $in_dir/node2.html`;
|
|
$cover =`cat $in_dir/$start_f`;
|
|
|
|
$contents=~s/$r1//g;
|
|
$contents=~s/<HR>//g;
|
|
$contents=~s/<BR> <P>//ig;
|
|
|
|
$cover =~s/<H2>*.<\/H2>//g;
|
|
$cover =~s/<UL>.*<\/UL>//gs;
|
|
$cover =~s/<HR>//g;
|
|
|
|
if ($cover=~/<A HREF.*>\s*Compressed postscript<\/A>/i)
|
|
{$comp_postscript=$&;}
|
|
if ($cover=~/<A HREF.*>\s*Postscript<\/A>/i)
|
|
{$postscript=$&;}
|
|
if ($cover=~/<ISINDEX.*>/i)
|
|
{$search=$&;}
|
|
|
|
$cover =~s/<P>.*Compressed Postscript<\/A>//ig;
|
|
$cover =~s/<P>.*Postscript<\/A>//ig;
|
|
$cover =~s/<ISINDEX.*>//gi;
|
|
|
|
$contents=~s/<\/HEAD>/<base target=\"main\">\n$r2<\/HEAD>/g;
|
|
$contents=~s/<BODY/<BODY onBlur=\"focus_me()\"/;
|
|
$contents=~s/<H2>/<font size=-1><i><form>$r3$comp_postscript $postscript<\/form><\/i><\/font>\n$search\n<H2>/g;
|
|
|
|
open(F,">$out_dir/contents.html");
|
|
print F $contents;
|
|
close(F);
|
|
|
|
open(F,">$out_dir/cover.html");
|
|
print F $cover;
|
|
close(F);
|
|
}
|
|
|
|
|
|
|
|
|
|
sub print_usage {
|
|
print <<EOT2;
|
|
usage: make_manual.pl [start file] ["title"]
|
|
|
|
start file: root file of the latex2html tree
|
|
title : (optional) title displayed in browser's
|
|
header bar; default="NWChem User Documentation"
|
|
EOT2
|
|
}
|
|
|
|
|
|
|
|
sub make_manuals {
|
|
local($out_dir,$tit)=@_;
|
|
|
|
$frames_index=<<EOT3;
|
|
<html>
|
|
<head>
|
|
<title>$tit</title>
|
|
<script>
|
|
<!--
|
|
window.name="something";
|
|
//-->
|
|
</script>
|
|
</head>
|
|
<frameset cols="300,*" border=1>
|
|
<frame name="contents_frame" scrolling="yes" src="contents.html">
|
|
<frame name="main" src="cover.html">
|
|
</frameset>
|
|
</html>
|
|
EOT3
|
|
|
|
|
|
$cover=`cat cover.html`;
|
|
if ($cover=~/<body.*<\/body>/is) {
|
|
$cover=$&;
|
|
$cover=~s/<body/<body onLoad=\"show_contents()\"/i;
|
|
}
|
|
|
|
$windows_index=<<EOT4;
|
|
<html>
|
|
<head>
|
|
<title>$tit</title>
|
|
<script>
|
|
<!--
|
|
var toolkit=java.awt.Toolkit.getDefaultToolkit();
|
|
var screen_size=toolkit.getScreenSize();
|
|
screen_h=screen_size.height;
|
|
function show_contents() {
|
|
win_features="toolbar=no,scrollbars=yes,status=no,dircetories=no,resizable=yes,width=300,height="+screen_h;
|
|
contents=window.open
|
|
("contents.html","contentsWin",win_features);
|
|
}
|
|
window.name="main";
|
|
//-->
|
|
</script>
|
|
</head>
|
|
$cover
|
|
</html>
|
|
EOT4
|
|
|
|
open(F,">$out_dir/index.html");
|
|
print F $frames_index;
|
|
close(F);
|
|
|
|
open(F,">$out_dir/windows_man.html");
|
|
print F $windows_index;
|
|
close(F);
|
|
}
|