Publish task

Now the html pages are generated in the `build` directory, so you can just run a server like this:

```sh
pushd build; python -m SimpleHTTPServer; popd
```
it's a good practice to start bash scripts (after the shebangs) with:

```bash
set -o nounset
set -o errexit
```
with this options the script will stop if a variable is unset or if any command throws an error.

The default bash behaviour doesn't fail with errors and can lead to some very very weird outputs.