--- title: "My Workflow For This Site" date: 2022-04-05 --- 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](/switch-to-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](https://woodpecker-ci.org/), 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](/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!