#
# CFARCH2HTML is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with gvpe; if not, write to the Free Software
# Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
our $VERSION = '1.02';
use Storable;
my $LIBDIR = $ENV{CROSSFIRE_LIBDIR}
or die "\$CROSSFIRE_LIBDIR must be set\n";
my $arch;
sub escape_html($) {
local $_ = shift;
s/([<>&])/sprintf "%d;", ord $1/ge;
$_
}
$arch = Storable::retrieve "$LIBDIR/archetypes.pst";
open my $fh, ">:utf8", "arc.xhtml"
or die "arc.xhtml: $!";
select $fh;
my $W = $meta->{width} * $T;
my $H = $meta->{height} * $T;
my (@path) = split /\//, $path;
print "",
"",
"",
"",
"Crossfire Archetypes",
"",
"",
"",
"Crossfire Archetypes
";
print "";
sub print_arch {
my ($a) = @_;
print "";
for (sort keys %$a) {
next if $_ eq "_name";
my $v = escape_html $a->{$_};
print "- ";
if ($_ eq "more") {
print "more =>\n";
print_arch ($a->{more});
} elsif ($_ eq "other_arch") {
print "$_ => $v\n";
} elsif ($_ eq "msg" || $_ eq "lore") {
print "$_ =>
$v
";
} else {
print "$_ => $v\n";
}
print " ";
}
print "
";
}
for my $name (sort keys %$arch) {
print "$name | ";
print_arch $arch->{$name};
print " |
";
}
print "
created by cfarch2html version $VERSION
",
"";
close $fh;
system "gzip", "-7f", "arc.xhtml";