diff --git a/Buildscr b/Buildscr index d661502..b8a585b 100644 --- a/Buildscr +++ b/Buildscr @@ -158,6 +158,16 @@ delegate emscripten return puzzles/js/*.js enddelegate +# Build a set of wrapping HTML pages for easy testing of the +# Javascript puzzles. These aren't quite the same as the versions that +# will go on my live website, because those ones will substitute in a +# different footer, and not have to link to the .js files with the +# ../js/ prefix. But these ones should be good enough to just open +# using a file:// URL in a browser after running a build, and make +# sure the main functionality works. +in puzzles do mkdir jstest +in puzzles/jstest do ../html/jspage.pl --jspath=../js/ /dev/null ../html/*.html + # Set up .htaccess containing a redirect for the archive filename. in puzzles do echo "AddType application/octet-stream .chm" > .htaccess in puzzles do echo "AddType application/octet-stream .hlp" >> .htaccess @@ -179,6 +189,7 @@ deliver puzzles/puzzles.zip $@ deliver puzzles/puzzles.msi puzzles-$(Version)-installer.msi deliver puzzles/*.jar java/$@ deliver puzzles/js/*.js js/$@ +deliver puzzles/jstest/*.html jstest/$@ deliver puzzles/html/*.html html/$@ deliver puzzles/html/*.pl html/$@ deliver puzzles/wwwspans.html $@ diff --git a/html/jspage.pl b/html/jspage.pl index 37eea30..b409783 100755 --- a/html/jspage.pl +++ b/html/jspage.pl @@ -3,6 +3,17 @@ use strict; use warnings; +my $jspath = ""; +while ($ARGV[0] =~ /^-/) { + my $opt = shift @ARGV; + last if $opt eq "--"; + if ($opt =~ /^--jspath=(.+)$/) { + $jspath = $1; + } else { + die "jspage.pl: unrecognised option '$opt'\n"; + } +} + open my $footerfile, "<", shift @ARGV or die "footer: open: $!\n"; my $footer = ""; $footer .= $_ while <$footerfile>; @@ -62,7 +73,7 @@ EOF