--- cfmaps/cfarch2html 2005/11/22 17:54:41 1.10 +++ cfmaps/cfarch2html 2007/06/21 01:09:52 1.15 @@ -1,7 +1,7 @@ #!/opt/bin/perl # cfarch2html - convert crossfire archetypes to html -# Copyright (C) 2005 Marc Lehmann +# Copyright (C) 2005,2007 Marc Lehmann # # CFARCH2HTML is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,44 +17,19 @@ # 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.03'; +our $VERSION = '2.001'; +use Crossfire 1.0; 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 ""; +system "rm", -rf => "a"; +mkdir "a", 0777; sub print_arch { my ($a) = @_; @@ -68,7 +43,7 @@ print "more =>\n"; print_arch ($a->{more}); } elsif ($_ eq "other_arch") { - print "$_ => $v\n"; + print "$_ => $v\n"; } elsif ($_ eq "msg" || $_ eq "lore") { print "$_ =>

$v

"; } else { @@ -78,16 +53,33 @@ } print ""; } -for my $name (sort keys %$arch) { - print ""; -} -print "
$name"; - print_arch $arch->{$name}; - print "
", - ""; +Crossfire::load_archetypes; + +for my $name (sort keys %ARCH) { + open my $fh, ">:utf8", "a/$name.xhtml" + or die "a/$name.xhtml: $!"; + + select $fh; + + print "", + '', + "", + "", + "Crossfire Archetype '$name'", + "", + "", + "", + "

Crossfire Archetype '$name'

"; -close $fh; + print_arch $ARCH{$name}; + + print "", + ""; + + close $fh; + + #system "gzip", "-7f", "arc.xhtml"; +} -#system "gzip", "-7f", "arc.xhtml";