My Workflow For This Site

Part of the Blog series

This blog is about a week old now. I’m still figuring out what kind of content I’d like to post, or what kind of writing style I have. What I have figured out however, is my workflow.

Thanks to my backend powered by Axum I have pretty much full creative control over the internal workings of my site. This gave me the freedom to implement a system that I think works very well. Let’s elaborate a bit.

Both the blog & the documentation part of my website are currently being generated using Hugo, a static site generator. The lack of JavaScript makes the site very fast, which is always a big plus in my opinion. Thanks to my self-hosted CI, I can automatically build & deploy the static files every time I update anything. My CI builds the static website, compresses it into a tarball, & uploads this to my backend. This process takes less than 10 seconds on a warm CI runner & it allows me to very quickly update my site, correct errors, or just upload a post like this one!

My backend supports a simple system of serving multiple sites. In practice this means that I can specify which site I’m uploading using a query parameter in the POST request. This is how I’m able to serve my documentation on /docs while still having my blog available as the “default” site.

The “source code” for my site(s) is stored in Git repositories using Markdown. Considering I use Git on a daily basis, this is perfect for me & I don’t see it as an “extra step” anymore. For college I use Git as well, so using it in personal projects is a no-brainer.

I have no idea how common this setup is, or if it’ll work as well down the road, but for now, I find it works perfectly.

Thanks for reading!