This post serves as a description of how this site is built and run. I will try and keep this up to date if any changes are made. The following is a rough guide to how I got this site up 👍.
Hugo + Caddy = 🚀
This basic static site takes advantage of two pieces of technology, Hugo and Caddy. Hugo is a fast, easy to use, extensible static site generator. This allows us to quickly build and serve static sites with a extensive collection of themes to suit blogs, documentation, and landing pages. While Hugo has a webserver with hot reloading built in, I found that it is only useful for development.
When I want to expose my site to the internet, I use Caddy as my webserver. I chose Caddy for a couple of reasons. First, it is written in Go and I like to use and support projects written in my favorite langauges. Second, it allows for cool features such as webhooks so the server can respond to external changes. This allows for continuous deployment based on updates to git repositores so I can update my site without touching my server. Caddy also has automatic TLS via LetsEncrypt which might be overkill for a static site but is a slick feature nonetheless.