1 |
#! /usr/bin/env perl |
2 |
|
3 |
# Ed Hill |
4 |
# Tue Dec 2 20:17:27 EST 2003 |
5 |
|
6 |
# Assemble the web pages from XML files. |
7 |
|
8 |
open(TOP,"<top_list.txt") or die "ERROR: can't open \"top_list.txt\"\n"; |
9 |
while($line = <TOP>) { |
10 |
chomp($line); |
11 |
length($line) > 0 and @top_list[$top_list++] = $line; |
12 |
} |
13 |
|
14 |
open(TEMPL,"<template.xml") or die "ERROR: can't open \"template.xml\"\n"; |
15 |
$template = join "", <TEMPL>; |
16 |
|
17 |
mkdir html; |
18 |
|
19 |
foreach $file (@top_list) { |
20 |
|
21 |
$fname = "<./" . $file . ".xml"; |
22 |
open(INF,$fname) or die "ERROR: can't open \"$fname\"\n"; |
23 |
$f_all = join "", <INF>; |
24 |
|
25 |
$_ = $f_all; |
26 |
/<body>(.*)<\/body>/s and $body = $1; |
27 |
|
28 |
$_ = $f_all; |
29 |
/<meta *name="add_title" *content="(.*)"/ and $title = $1; |
30 |
|
31 |
$_ = $f_all; |
32 |
/<meta *name="add_name_0" *content="(.*)"/ and $name = $1; |
33 |
|
34 |
$menu = ""; |
35 |
foreach $f (@top_list) { |
36 |
if ($f ne $file) { |
37 |
$tmp = "<a href=\"./" . $f . ".html\">" . $f . "</a><br />\n"; |
38 |
} else { |
39 |
$tmp = "<b>" . $name . "</b>\n"; |
40 |
} |
41 |
$menu = join "", $menu, $tmp; |
42 |
} |
43 |
|
44 |
$_ = $template; |
45 |
s/<!--ADDTITLE-->/$title/s; |
46 |
s/<!--ADDMENU-->/$menu/s; |
47 |
s/<!--ADDCONTENT-->/$body/s; |
48 |
|
49 |
$out_name = ">./html/" . $file . ".html"; |
50 |
open(OUT,$out_name) or die "ERROR: can't open \"$out_name\"\n"; |
51 |
print OUT $_; |
52 |
|
53 |
close(OUT); |
54 |
close(INF); |
55 |
} |
56 |
|