#!/bin/sh die () { echo "$1" >/dev/stderr Snarl_CMD snShowMessage 10 "Dive Into Python 3" "$1." "C:\Users\pilgrim\site-lisp\todochiku-icons\alert.png" exit 1 } echo "started build" # make build directory and copy original files there for preflighting rm -rf build mkdir build cp robots.txt *.css build/ cp -R j build/ cp -R i build/ rm -f examples/*.pyc cp -R examples build/ cp .htaccess build/ echo "linting JS" [ -n "$(which js 2>/dev/null)" ] || die "SpiderMonkey (js or js.exe) not found" js_lint_results=`js j/jslint.js < build/j/dip3.js 2>/dev/null` [ "$js_lint_results" = "jslint: No problems found." ] || die "$js_lint_results" 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" || 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 || 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" || 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 || 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|