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