38 lines
1.8 KiB
Markdown
38 lines
1.8 KiB
Markdown
|
---
|
||
|
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!
|