About this site
I compile the site generator in a cabal sandbox to isolate its dependencies from the rest of my system, by running
cabal build at the shell. I run
./site watch while I’m editing so I get a local preview, and then when I’m done I deploy via rsync. I use a script like the following to deploy:
#!/bin/bash git checkout master &&\ git push&&\ ./site clean &&\ ./site build &&\ rsync --checksum -ave 'ssh' \_site/* [redacted]:/srv/http/nathantypanski.com
This makes the website really easy to maintain. It is just a bunch of markdown files that generate a bunch of HTML files that can be served as a static site. No backing database, no content management system, just a bunch of files on a computer.