File:  [LON-CAPA] / loncom / build / doc_template.pl
Revision 1.6: download - view: text, annotated - select for diffs
Wed May 1 22:15:37 2002 UTC (22 years, 1 month ago) by harris41
Branches: MAIN
CVS tags: HEAD
supporting xhtml 1.0 transitional dtd validation

    1: # perl script
    2: 
    3: # a quick and dirty xml reading and substitution
    4: 
    5: # --------------------------------------- slurp in information
    6: unless (scalar(@ARGV)==2) {
    7:     die("invalid invocation of doc_template.pl");
    8: }
    9: my $template=shift @ARGV; my $data=shift @ARGV;
   10: my @lines;
   11: open IN,"<$data" or die("no file $data");
   12: @lines=<IN>; close IN;
   13: my $d=join('',@lines);
   14: open IN,"<$template" or die("no file $data");
   15: @lines=<IN>; close IN;
   16: my $t=join('',@lines);
   17: 
   18: # ------- read in values from data
   19: $d=~/\<title.*?\>(.*?)\<\/title.*?\>/s;
   20: my $title=$1;
   21: $t=~s/\<TITLE \/\>/$title/g;
   22: $d=~/\$(.*?)\$/;
   23: my $e=$1;
   24: $e=~s/\S*\s\S*\s+\S*$/ updated by Scott Harrison/;
   25: my $cvsdate="<p><font size=\"-2\"><i>CVS $e</i></font></p>";
   26: $t=~s/\<DATE \/\>/$cvsdate/g;
   27: $d=~/\<\!\-\- pdfahref (.*?) \-\-\>/;
   28: my $pdfahref="<a href='$1'>";
   29: $t=~s/\<PDFAHREF \/\>/$pdfahref/g;
   30: 
   31: my %bhash=(
   32:     'CONFIGURE' => '/docs/reconfig/index.html',
   33:     'INSTALL' => '/docs/install/index.html',
   34:     'UPGRADE' => '/docs/upgrade/index.html',
   35:     'FAQ' => '/docs/faq/index.html',
   36:     'DOWNLOADS' => '/docs/downloads/index.html',
   37:     'CONTACT' => '/docs/contact/index.html',
   38:     'MAIN-SITE' => 'http://install.lon-capa.org',
   39:     'LICENSE' => '/docs/license/index.html',
   40: );
   41: 
   42: $d=~/\<\!\-\- button (.*?) \-\-\>/;
   43: my $buttonv=$1;
   44: while (1) {
   45:     if ($t=~/\<BUTTON NAME=\'(.*?)\' \/\>/) {
   46: 	my $bname=$1;
   47: 	my $button;
   48: 	my $bh=$bhash{$bname};
   49: 	if ($buttonv eq $bname) {
   50: 	    $button=<<END;
   51: <table cellpadding='5' cellspacing='0' border='3'><tr><td>
   52: <a href='$bh'>
   53: <font face='helvetica'>
   54: <font color='#009900'>
   55: $bname
   56: </font>
   57: </font>
   58: </a>
   59: </td></tr></table>
   60: END
   61:         }
   62: 	else {
   63: 	    $button=<<END;
   64: <table cellpadding='5' cellspacing='0' border='1'><tr><td>
   65: <a href='$bh'>
   66: <strong><font face='helvetica'>
   67: <font color='#009900'>$bname</font>
   68: </font></strong></a>
   69: </td></tr></table>
   70: END
   71: 	}
   72: 	$t=~s/\<BUTTON NAME=\'$bname\' \/\>/$button/g;
   73:     }
   74:     else {
   75: 	last;
   76:     }
   77: }
   78: $d=~/\<\!\-\- preamble start \-\-\>(.*?)\<\!\-\- preamble end \-\-\>/s;
   79: my $preamble=$1;
   80: $preamble=~s/\<p([^\>]*)\>/<p$1><font face="helvetica">/g;
   81: $preamble=~s/\<\/p([^\>]*)\>/<\/font><\/p$1>/g;
   82: $preamble=~s/\<li([^\>]*)\>/<li$1><font face="helvetica">/g;
   83: $preamble=~s/\<\/li([^\>]*)\>/<\/font><\/li$1>/g;
   84: $t=~s/\<PREAMBLE \/\>/$preamble/g;
   85: $d=~/\<\!\-\- maintext start \-\-\>(.*?)\<\!\-\- maintext end \-\-\>/s;
   86: my $maintext=$1;
   87: $t=~s/\<MAINTEXT \/\>/$maintext/g;
   88: my $v=(<<END);
   89: <p>
   90:  <a href="http://validator.w3.org/check/referer"><img
   91:         src="http://www.w3.org/Icons/valid-xhtml10"
   92:         alt="Valid XHTML 1.0!" height="31" width="88" /></a>
   93: </p>
   94: END
   95: if ($d=~/\<\!\-\- validated \-\-\>/) {
   96:     $t=~s/\<VALIDATED \/\>/$v/g;
   97: }
   98: else {
   99:     $t=~s/\<VALIDATED \/\>//g;
  100: }
  101: print $t;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>