mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
Build test HTML wrapper pages for the Javascript puzzles.
This should make it less annoying for me to do local testing of the JS output of a build, before I push a change. There's a new build.out/jstest directory containing .html files suitable for loading in a local browser, which refer to the JS files via an appropriate relative path to the existing build.out/js directory.
This commit is contained in:
11
Buildscr
11
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 $@
|
||||
|
@ -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
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ASCII" />
|
||||
<title>${puzzlename}, ${unfinishedtitlefragment}from Simon Tatham's Portable Puzzle Collection</title>
|
||||
<script type="text/javascript" src="${filename}.js"></script>
|
||||
<script type="text/javascript" src="${jspath}${filename}.js"></script>
|
||||
<style class="text/css">
|
||||
/* Margins and centring on the top-level div for the game menu */
|
||||
#gamemenu { margin-top: 0; margin-bottom: 0.5em; text-align: center }
|
||||
|
Reference in New Issue
Block a user