About this site
Contents
The code for this site is on GitHub. It’s written in Hakyll, a static site generator for Haskell.
Compilation
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.