Added footnotes support!
[project-aon.git] / scripts / gbtoxhtml-single.pl
1 #!/usr/local/bin/perl -w
2 #
3 # gbtoxhtml-single.pl
4 # 10 April 2002
5 #
6 # Creates XHTML gamebook from XML source.
7 #####
8
9 use strict;
10
11 my $PROGRAM_NAME = "gbtoxhtml-single";
12 my $PATH_PREFIX  = "$ENV{'HOME'}/aon/data";
13 my $XML_PATH = "$PATH_PREFIX/xml";
14 my $XHTML_PATH = "$PATH_PREFIX/xhtml-single";
15
16 ##
17
18 unless( $ARGV[ 0 ] ) { die "Usage:\n\t${PROGRAM_NAME} book-code\n"; }
19
20 my $CREATE_CSS = "$ENV{'HOME'}/aon/bin/create-css-xhtml-single.pl";
21 my $RXP        = "$ENV{'HOME'}/aon/bin/rxp";
22 my $JAVA       = "/usr/j2sdk1_3_0_02/bin/java";
23
24 ##
25
26 my $BOOK_PATH         = "";
27 my $XML_SOURCE        = "";
28 my $TEXT_COLOR        = "";
29 my $LINK_COLOR        = "";
30 my $SCROLL_BASE_COLOR = "";
31 my $USE_ILLUSTRATORS  = "";
32
33 ##
34
35 unless( $ARGV[ 0 ] ) { die "Usage:\n\t${PROGRAM_NAME} BOOK_CODE\n"; }
36
37 print "Reminder:\n\tDid you comment out the LaTeX special character\n\tdeclarations in the book's XML file?\n";
38
39 my( $bookCode ) = @ARGV;
40
41 if( $bookCode eq "01fftd" ) {
42     $XML_SOURCE        = "01fftd.xml";
43     $BOOK_PATH         .= "/lw/01fftd";
44     $TEXT_COLOR        = "#003300";
45     $LINK_COLOR        = "#006633";
46     $SCROLL_BASE_COLOR = "#003300";
47 }
48 elsif( $bookCode eq "02fotw" ) {
49     $XML_SOURCE        = "02fotw.xml";
50     $BOOK_PATH         .= "/lw/02fotw";
51     $TEXT_COLOR        = "#003333";
52     $LINK_COLOR        = "#009999";
53     $SCROLL_BASE_COLOR = "#003333";
54 }
55 elsif( $bookCode eq "03tcok" ) {
56     $XML_SOURCE        = "03tcok.xml";
57     $BOOK_PATH         .= "/lw/03tcok";
58     $TEXT_COLOR        = "#003366";
59     $LINK_COLOR        = "#0099cc";
60     $SCROLL_BASE_COLOR = "#003366";
61 }
62 elsif( $bookCode eq "04tcod" ) {
63     $XML_SOURCE        = "04tcod.xml";
64     $BOOK_PATH         .= "/lw/04tcod";
65     $TEXT_COLOR        = "#000033";
66     $LINK_COLOR        = "#000099";
67     $SCROLL_BASE_COLOR = "#000033";
68 }
69 elsif( $bookCode eq "05sots" ) {
70     $XML_SOURCE        = "05sots.xml";
71     $BOOK_PATH         .= "/lw/05sots";
72     $TEXT_COLOR        = "#330000";
73     $LINK_COLOR        = "#cc9900";
74     $SCROLL_BASE_COLOR = "#330000";
75 }
76 elsif( $bookCode eq "06tkot" ) {
77     $XML_SOURCE        = "06tkot.xml";
78     $BOOK_PATH         .= "/lw/06tkot";
79     $TEXT_COLOR        = "#404000";
80     $LINK_COLOR        = "#999900";
81     $SCROLL_BASE_COLOR = "#404000";
82 }
83 elsif( $bookCode eq "07cd" ) {
84     $XML_SOURCE        = "07cd.xml";
85     $BOOK_PATH         .= "/lw/07cd";
86     $TEXT_COLOR        = "#003300";
87     $LINK_COLOR        = "#00cc66";
88     $SCROLL_BASE_COLOR = "#003300";
89 }
90 elsif( $bookCode eq "08tjoh" ) {
91     $XML_SOURCE        = "08tjoh.xml";
92     $BOOK_PATH         .= "/lw/08tjoh";
93     $TEXT_COLOR        = "#334033";
94     $LINK_COLOR        = "#669966";
95     $SCROLL_BASE_COLOR = "#334033";
96 }
97 elsif( $bookCode eq "09tcof" ) {
98     $XML_SOURCE        = "09tcof.xml";
99     $BOOK_PATH         .= "/lw/09tcof";
100     $TEXT_COLOR        = "#330000";
101     $LINK_COLOR        = "#ff9900";
102     $SCROLL_BASE_COLOR = "#330000";
103 }
104 elsif( $bookCode eq "10tdot" ) {
105     $XML_SOURCE        = "10tdot.xml";
106     $BOOK_PATH         .= "/lw/10tdot";
107     $TEXT_COLOR        = "#330000";
108     $LINK_COLOR        = "#ff0000";
109     $SCROLL_BASE_COLOR = "#330000";
110 }
111 elsif( $bookCode eq "11tpot" ) {
112     $XML_SOURCE        = "11tpot.xml";
113     $BOOK_PATH         .= "/lw/11tpot";
114     $TEXT_COLOR        = "#333300";
115     $LINK_COLOR        = "#808066";
116     $SCROLL_BASE_COLOR = "#333300";
117 }
118 elsif( $bookCode eq "12tmod" ) {
119     $XML_SOURCE        = "12tmod.xml";
120     $BOOK_PATH         .= "/lw/12tmod";
121     $TEXT_COLOR        = "#330000";
122     $LINK_COLOR        = "#990000";
123     $SCROLL_BASE_COLOR = "#330000";
124 }
125 elsif( $bookCode eq "13tplor" ) {
126     $XML_SOURCE        = "13tplor.xml";
127     $BOOK_PATH         .= "/lw/13tplor";
128     $TEXT_COLOR        = "#333300";
129     $LINK_COLOR        = "#666633";
130     $SCROLL_BASE_COLOR = "#333300";
131 }
132 elsif( $bookCode eq "15tdc" ) {
133     $XML_SOURCE        = "15tdc.xml";
134     $BOOK_PATH         .= "/lw/15tdc";
135     $TEXT_COLOR        = "#000033";
136     $LINK_COLOR        = "#6699cc";
137     $SCROLL_BASE_COLOR = "#000033";
138 }
139 elsif( $bookCode eq "01gstw" ) {
140     $XML_SOURCE        = "01gstw.xml";
141     $BOOK_PATH         .= "/gs/01gstw";
142     $TEXT_COLOR        = "#330066";
143     $LINK_COLOR        = "#9900ff";
144     $SCROLL_BASE_COLOR = "#330066";
145 }
146 elsif( $bookCode eq "01hh" ) {
147     $XML_SOURCE        = "01hh.xml";
148     $BOOK_PATH         .= "/fw/01hh";
149     $TEXT_COLOR        = "#330066";
150     $LINK_COLOR        = "#9900ff";
151     $SCROLL_BASE_COLOR = "#330066";
152 }
153 elsif( $bookCode eq "rh" ) {
154     $XML_SOURCE        = "rh.xml";
155     $BOOK_PATH         .= "/misc/rh";
156     $TEXT_COLOR        = "#400000";
157     $LINK_COLOR        = "#339933";
158     $SCROLL_BASE_COLOR = "#400000";
159 }
160 else{ die "Error:\n\tUknown book code ($bookCode).\n"; }
161
162 qx{$JAVA org.apache.xalan.xslt.Process -IN $XML_PATH/$XML_SOURCE -XSL $XML_PATH/xhtml-single.xsl -OUT $XHTML_PATH/$BOOK_PATH/$bookCode.html -PARAM use-illustrators \"$USE_ILLUSTRATORS\"};
163 qx{$CREATE_CSS $XHTML_PATH/$BOOK_PATH \"$TEXT_COLOR\" \"\#ffffe6\" \"$SCROLL_BASE_COLOR\" \"\#e6e6cc\" \"\#ffffe6\" \"$LINK_COLOR\" \"$LINK_COLOR\" \"\#e6e6cc\" \"$LINK_COLOR\"};