6 # Creates XHTML gamebook from XML source.
11 # Revision 1.1 2005/04/26 04:47:54 jonathan.blake
14 # Revision 1.1 2002/10/22 16:20:26 jblake
18 # Revision 1.3 2002/10/20 05:47:50 jblake
19 # Added Highway Holocaust to the book list.
21 # Revision 1.2 2002/10/18 15:42:25 jblake
22 # Added Grey Star the Wizard to the book list.
24 # Revision 1.1 2002/10/18 15:38:41 jblake
33 my $PROGRAM_NAME = "gbtoxhtml";
34 my $PATH_PREFIX = "$ENV{'HOME'}/aon/data";
36 my $BOOK_PATH = "xhtml-pda";
40 my $CREATE_CSS = "$ENV{'HOME'}/aon/bin/create-pdacss.pl";
41 my $RXP = "$ENV{'HOME'}/aon/bin/rxp";
44 my $TAR = "/usr/local/bin/tar";
46 my $BZIP2 = "/bin/bzip2";
47 my $JAVA = "/usr/j2sdk1_3_0_02/bin/java";
55 my $SCROLL_BASE_COLOR = "";
56 my $USE_ILLUSTRATORS = "";
60 unless( $ARGV[ 0 ] ) { die "Usage:\n\t${PROGRAM_NAME} BOOK_CODE\n"; }
62 print "Reminder:\n\tDid you comment out the LaTeX special character\n\tdeclarations in the book's XML file?\n";
64 my( $bookCode ) = @ARGV;
66 if( $bookCode eq "01fftd" ) {
67 $XML_SOURCE = "01fftd.xml";
68 $BOOK_PATH .= "/lw/01fftd";
69 $TEXT_COLOR = "#003300";
70 $LINK_COLOR = "#006633";
71 $SCROLL_BASE_COLOR = "#003300";
72 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
74 elsif( $bookCode eq "02fotw" ) {
75 $XML_SOURCE = "02fotw.xml";
76 $BOOK_PATH .= "/lw/02fotw";
77 $TEXT_COLOR = "#003333";
78 $LINK_COLOR = "#009999";
79 $SCROLL_BASE_COLOR = "#003333";
80 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
82 elsif( $bookCode eq "03tcok" ) {
83 $XML_SOURCE = "03tcok.xml";
84 $BOOK_PATH .= "/lw/03tcok";
85 $TEXT_COLOR = "#003366";
86 $LINK_COLOR = "#0099cc";
87 $SCROLL_BASE_COLOR = "#003366";
88 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
90 elsif( $bookCode eq "04tcod" ) {
91 $XML_SOURCE = "04tcod.xml";
92 $BOOK_PATH .= "/lw/04tcod";
93 $TEXT_COLOR = "#000033";
94 $LINK_COLOR = "#000099";
95 $SCROLL_BASE_COLOR = "#000033";
96 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
98 elsif( $bookCode eq "05sots" ) {
99 $XML_SOURCE = "05sots.xml";
100 $BOOK_PATH .= "/lw/05sots";
101 $TEXT_COLOR = "#330000";
102 $LINK_COLOR = "#cc9900";
103 $SCROLL_BASE_COLOR = "#330000";
104 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
106 elsif( $bookCode eq "06tkot" ) {
107 $XML_SOURCE = "06tkot.xml";
108 $BOOK_PATH .= "/lw/06tkot";
109 $TEXT_COLOR = "#404000";
110 $LINK_COLOR = "#999900";
111 $SCROLL_BASE_COLOR = "#404000";
112 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
114 elsif( $bookCode eq "07cd" ) {
115 $XML_SOURCE = "07cd.xml";
116 $BOOK_PATH .= "/lw/07cd";
117 $TEXT_COLOR = "#003300";
118 $LINK_COLOR = "#00cc66";
119 $SCROLL_BASE_COLOR = "#003300";
120 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
122 elsif( $bookCode eq "08tjoh" ) {
123 $XML_SOURCE = "08tjoh.xml";
124 $BOOK_PATH .= "/lw/08tjoh";
125 $TEXT_COLOR = "#334033";
126 $LINK_COLOR = "#669966";
127 $SCROLL_BASE_COLOR = "#334033";
128 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
130 elsif( $bookCode eq "09tcof" ) {
131 $XML_SOURCE = "09tcof.xml";
132 $BOOK_PATH .= "/lw/09tcof";
133 $TEXT_COLOR = "#330000";
134 $LINK_COLOR = "#ff9900";
135 $SCROLL_BASE_COLOR = "#330000";
136 $USE_ILLUSTRATORS = ":Brian Williams:JC Alvarez & Jonathan Blake:Jonathan Blake:";
138 elsif( $bookCode eq "10tdot" ) {
139 $XML_SOURCE = "10tdot.xml";
140 $BOOK_PATH .= "/lw/10tdot";
141 $TEXT_COLOR = "#330000";
142 $LINK_COLOR = "#ff0000";
143 $SCROLL_BASE_COLOR = "#330000";
144 $USE_ILLUSTRATORS = ":Brian Williams:JC Alvarez & Jonathan Blake:Jonathan Blake:";
146 elsif( $bookCode eq "11tpot" ) {
147 $XML_SOURCE = "11tpot.xml";
148 $BOOK_PATH .= "/lw/11tpot";
149 $TEXT_COLOR = "#333300";
150 $LINK_COLOR = "#808066";
151 $SCROLL_BASE_COLOR = "#333300";
152 $USE_ILLUSTRATORS = ":Brian Williams:JC Alvarez & Jonathan Blake:Jonathan Blake:";
154 elsif( $bookCode eq "12tmod" ) {
155 $XML_SOURCE = "12tmod.xml";
156 $BOOK_PATH .= "/lw/12tmod";
157 $TEXT_COLOR = "#330000";
158 $LINK_COLOR = "#990000";
159 $SCROLL_BASE_COLOR = "#330000";
160 $USE_ILLUSTRATORS = ":Brian Williams:JC Alvarez & Jonathan Blake:Jonathan Blake:";
162 elsif( $bookCode eq "13tplor" ) {
163 $XML_SOURCE = "13tplor.xml";
164 $BOOK_PATH .= "/lw/13tplor";
165 $TEXT_COLOR = "#333300";
166 $LINK_COLOR = "#666633";
167 $SCROLL_BASE_COLOR = "#333300";
168 $USE_ILLUSTRATORS = ":Brian Williams:JC Alvarez & Jonathan Blake:Jonathan Blake:";
170 elsif( $bookCode eq "15tdc" ) {
171 $XML_SOURCE = "15tdc.xml";
172 $BOOK_PATH .= "/lw/15tdc";
173 $TEXT_COLOR = "#000033";
174 $LINK_COLOR = "#6699cc";
175 $SCROLL_BASE_COLOR = "#000033";
176 $USE_ILLUSTRATORS = ":Brian Williams:JC Alvarez & Jonathan Blake:Jonathan Blake:";
178 elsif( $bookCode eq "01gstw" ) {
179 $XML_SOURCE = "01gstw.xml";
180 $BOOK_PATH .= "/gs/01gstw";
181 $TEXT_COLOR = "#330066";
182 $LINK_COLOR = "#9900ff";
183 $SCROLL_BASE_COLOR = "#330066";
185 elsif( $bookCode eq "01hh" ) {
186 $XML_SOURCE = "01hh.xml";
187 $BOOK_PATH .= "/fw/01hh";
188 $TEXT_COLOR = "#330066";
189 $LINK_COLOR = "#9900ff";
190 $SCROLL_BASE_COLOR = "#330066";
192 elsif( $bookCode eq "rh" ) {
193 $XML_SOURCE = "rh.xml";
194 $BOOK_PATH .= "/misc/rh";
195 $TEXT_COLOR = "#400000";
196 $LINK_COLOR = "#339933";
197 $SCROLL_BASE_COLOR = "#400000";
199 else{ die "Error:\n\tUknown book code ($bookCode).\n"; }
201 chdir( "$PATH_PREFIX" ) or die( "Cannot open Project Aon data directory \"$PATH_PREFIX\": $!" );
202 print STDERR "Validating XML... ";
203 system( "$RXP", "-Vs", "$XML_PATH/$XML_SOURCE" ) == 0 or die( "failed\n" );
204 print STDERR "succeeded\n";
206 -d "$BOOK_PATH" or die( "Book directory does not exist or isn't a directory: $!\n" );
208 print STDERR "Removing previous files in \"$PATH_PREFIX/$BOOK_PATH/\"...\n";
209 qx{$RM $BOOK_PATH/*};
210 print STDERR "Processing XSL Transformation...\n";
211 print STDERR "Warning:\n\tdiscarding top-level output of transformation\n";
212 print qx{$JAVA org.apache.xalan.xslt.Process -IN $XML_PATH/$XML_SOURCE -XSL $XML_PATH/xhtml-pda.xsl -OUT /dev/null -PARAM book-path \"$PATH_PREFIX/$BOOK_PATH\" -PARAM text-color \"$TEXT_COLOR\" -PARAM link-color \"$LINK_COLOR\" -PARAM use-illustrators \"$USE_ILLUSTRATORS\"};
214 print STDERR "Creating CSS\n";
215 print qx{$CREATE_CSS $BOOK_PATH \"$TEXT_COLOR\" \"\#ffffe6\" \"$SCROLL_BASE_COLOR\" \"\#e6e6cc\" \"\#ffffe6\" \"$LINK_COLOR\" \"$LINK_COLOR\" \"\#e6e6cc\" \"$LINK_COLOR\"};
217 print STDERR "Copying archived image files...\n";
218 qx{$CP images/$BOOK_PATH/*gif images/$BOOK_PATH/*jpg $BOOK_PATH};