#!/bin/sh echo "started build" # make build directory and copy original files there for preflighting rm -rf build mkdir build cp robots.txt *.js *.css build/ rm -f examples/*.pyc cp -R examples build/ echo "minimizing HTML" # minimize HTML (XXX this script is quite fragile and relies on knowledge of how I write HTML) for f in *.html; do python3 htmlminimizer.py "$f" build/"$f" done # build sitemap ls build/*.html | sed -e "s|build/|http://diveintopython3.org/|g" > build/sitemap.txt echo "adding evil tracking code" # add Google Analytics script for f in build/*.html; do cat "$f" ga.js > build/tmp mv build/tmp "$f" done # jQuery will be served by Google AJAX Libraries API sed -i -e "s|jquery\.js|http://www.google.com/jsapi|g" build/*.html sed -i -e "s|//google\.|google.|g" build/dip3.js sed -i -e "s|//}.; /\* google\..*|});|g" build/dip3.js # minimize JS and CSS echo "minimizing JS" revision=`hg log|grep changeset|cut -d":" -f3|head -1` java -jar yuicompressor-2.4.2.jar build/dip3.js > build/$revision.js echo "minimizing CSS" java -jar yuicompressor-2.4.2.jar build/dip3.css > build/$revision.css java -jar yuicompressor-2.4.2.jar build/mobile.css > build/m-$revision.css java -jar yuicompressor-2.4.2.jar build/print.css > build/p-$revision.css sed -i -e "s|;}|}|g" build/$revision.css sed -i -e "s|;}|}|g" build/m-$revision.css sed -i -e "s|;}|}|g" build/p-$revision.css # put CSS inline echo "inlining CSS" css=`cat build/$revision.css` sed -i -e "s|||g" -e "s|