diff --git a/publish b/publish
index 950dfd9..2b59dec 100755
--- a/publish
+++ b/publish
@@ -1,5 +1,10 @@
#!/bin/sh
+die () {
+ echo "$1" >/dev/stderr
+ exit 1
+}
+
echo "started build"
# make build directory and copy original files there for preflighting
@@ -16,68 +21,68 @@ echo "minimizing HTML"
# minimize HTML (NB: this script is quite fragile and relies on knowledge of how I write HTML)
for f in *.html; do
- python3 util/htmlminimizer.py "$f" build/"$f"
+ python3 util/htmlminimizer.py "$f" build/"$f" || die "Failed to minimize $f"
done
# build sitemap
-ls build/*.html | sed -e "s|build/|http://diveintopython3.org/|g" -e "s|/index.html|/|g" > build/sitemap.txt
+ls build/*.html | sed -e "s|build/|http://diveintopython3.org/|g" -e "s|/index.html|/|g" > build/sitemap.txt || die "Failed to build sitemap"
echo "adding evil tracking code"
# add Google Analytics script
for f in build/*.html; do
- cat "$f" j/ga.js > build/tmp
- mv build/tmp "$f"
+ cat "$f" j/ga.js > build/tmp && \
+ mv build/tmp "$f" || die "Could not add tracking code to $f"
done
# minimize JS and CSS
echo "minimizing JS"
revision=`hg log|grep changeset|cut -d":" -f3|head -1`
-java -jar util/yuicompressor-2.4.2.jar build/j/prettify.js > build/j/prettify.min.js
-java -jar util/yuicompressor-2.4.2.jar build/j/dip3.js > build/j/dip3.min.js
+java -jar util/yuicompressor-2.4.2.jar build/j/prettify.js > build/j/prettify.min.js && \
+ java -jar util/yuicompressor-2.4.2.jar build/j/dip3.js > build/j/dip3.min.js || die "Failed to minimize JS"
# combine jQuery and our script
echo "combining JS"
-cat build/j/jquery.min.js build/j/prettify.min.js build/j/dip3.min.js > build/j/$revision.js
-sed -i -e "s|||g" build/*.html
-sed -i -e "s|||g" build/*.html
-sed -i -e "s|||g" build/*.html || && \
+ sed -i -e "s|||g" build/*.html || && \
+ sed -i -e "s|