-# Copy everything to the site.
-scp tests/*.html tests/*.js $site/tests/ \
-&& \
-scp dygraph*.js gadget.xml excanvas.js thumbnail.png docs/* $site/
+# Generate documentation.
+./generate-documentation.py > docs/options.html
+chmod a+r docs/options.html
+if [ -s docs/options.html ] ; then
+ ./generate-jsdoc.sh
+ ./generate-download.py > docs/download.html
+
+ temp_dir=$(mktemp -d /tmp/dygraphs-docs.XXXX)
+ cd docs
+ ./ssi_expander.py $temp_dir
+ cd ..
+
+ # Make sure everything will be readable on the web.
+ # This is like "chmod -R a+rX", but excludes the .git directory.
+ find . -path ./.git -prune -o -print | xargs chmod a+rX
+
+ # Copy everything to the site.
+ rsync -avzr gallery common tests jsdoc experimental plugins datahandler polyfills extras $site \
+ && \
+ rsync -avzr --copy-links dashed-canvas.js dygraph*.js gadget.xml excanvas.js thumbnail.png screenshot.png $temp_dir/* $site/
+else
+ echo "generate-documentation.py failed"
+fi