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; $d=join('',@lines);
13: open IN,"<$template" or die("no file $data");
14: @lines=<IN>; close IN; $t=join('',@lines);
15:
16: # ------- read in values from data
17: $d=~/\<title.*?\>(.*?)\<\/title.*?\>/s;
18: my $title=$1;
19: $t=~s/\<TITLE \/\>/$title/g;
20: $d=~/\$(.*?)\$/;
21: my $cvsdate="<i>CVS: $1</i>";
22: $t=~s/\<DATE \/\>/$cvsdate/g;
23: $d=~/\<\!\-\- pdfahref (.*?) \-\-\>/;
24: my $pdfahref="<a href='$1'>";
25: $t=~s/\<PDFAHREF \/\>/$pdfahref/g;
26:
27: my %bhash=(
28: 'CONFIGURE' => '/docs/reconfig/index.html',
29: 'INSTALL' => '/docs/install/index.html',
30: 'UPGRADE' => '/docs/upgrade/index.html',
31: 'FAQ' => '/docs/faq/index.html',
32: 'DOWNLOADS' => '/docs/downloads/index.html',
33: 'CONTACT' => '/docs/contact/index.html',
34: 'MAIN-SITE' => 'http://install.lon-capa.org',
35: );
36:
37: $d=~/\<\!\-\- button (.*?) \-\-\>/;
38: my $buttonv=$1;
39: while (1) {
40: if ($t=~/\<BUTTON NAME=\'(.*?)\' \/\>/) {
41: my $bname=$1;
42: my $button;
43: my $bh=$bhash{$bname};
44: if ($buttonv eq $bname) {
45: $button=<<END;
46: <table cellpadding='5' cellspacing='0' border='3'><tr><td>
47: <a href='$bh'>
48: <font face='helvetica'>
49: <font color='#009900'>
50: $bname
51: </font>
52: </font>
53: </a>
54: </td></tr></table>
55: END
56: }
57: else {
58: $button=<<END;
59: <table cellpadding='5' cellspacing='0' border='1'><tr><td>
60: <a href='$bh'>
61: <strong><font face='helvetica'>
62: <font color='#009900'>$bname</font>
63: </font></strong></a>
64: </td></tr></table>
65: END
66: }
67: $t=~s/\<BUTTON NAME=\'$bname\' \/\>/$button/g;
68: }
69: else {
70: last;
71: }
72: }
73: $d=~/\<\!\-\- preamble start \-\-\>(.*?)\<\!\-\- preamble end \-\-\>/s;
74: my $preamble=$1;
75: $t=~s/\<PREAMBLE \/\>/$preamble/g;
76: $d=~/\<\!\-\- maintext start \-\-\>(.*?)\<\!\-\- maintext end \-\-\>/s;
77: my $maintext=$1;
78: $t=~s/\<MAINTEXT \/\>/$maintext/g;
79: print $t;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>