First and foremost.
For some time, web development has been quite intimidating. I never considered myself a programmer nor have I considered myself a developer. I’ve felt this way for quite some time, as public opinion of what a programmer or developer is just that—opinion. I come from a background of infrastructure management and server management. I spend most of my time daily interacting with Linux boxes and connecting infrastructure to produce a working backend. Some people say it’s basically magic, while others argue that it’s a dying profession soon to be consumed by the “cloud.” Others claim it’s simple work. In reality, it feels like it is just a mode of thinking. Working directly with hardware and software at this level has led me to tunnel vision and feel there is some line drawn in the sand between a developer and a systems administrator/developer. This is not actually the case. There is a shift in thought processes when developing; however, in the case of working with a static website generator such as Hugo, it kind of bridges the gap between working with FOSS (Free and Open Source Software) and operating systems all day.
So simple that the experience can be summarized in about a paragraph.#
Hugo allows someone to start a project and pick apart an implementation in order to get a full picture within a very short span of time. It is such a well-documented project that, almost any question you might have has been asked and likely there is already going to be an answer for it. The premise is quite simple when broken down: You, the developer, create or choose a theme. This theme will have specific rules in place for how it interacts with the content folders as well as any features that you want to include. If you want to override any specific behaviors or presentation of the theme, then you just pull the folder right into the root of the project folder and edit it as you see fit. Of course, this can cause breaking changes if you keep the theme up to date at all times (running the latest rolling release is typically a bad idea for web dependencies anyway).
After all that is done, then you can define everything from the content, the layout, taxonomy, whatever you need for your website. All of this is done with standard Markdown and whatever configuration format you prefer: TOML, YAML, or JSON—developers’ choice.
The Reason Hugo Picked Me#
Now that we have the introduction out of the way, we can move on to why I chose Hugo. I chose it because I felt it was the most compatible with how I process information. To explain that further it allows me to use markdown to focus on generating content of the site. This is a huge benefit because I can use tools like Obsidian to write drafts of my articles and see what kind of tone it is going to produce in real time. I can also adapt these articles straight from my mindmap/notes. Even better, since markdown is so commonly used, I can use just about any editor/plugins I want. This allows me to write straight from my terminal over a SSH connection with whatever editor I want. Cough Cough Neovim.. It made the most sense within the constraints that I have on my network. Choosing something as simple as Hugo has allowed me more time to focus on filling it with the things I love and produced an environment that I can pull apart and analyze piece by piece. I wanted to quickly create a space that I could call my own, something that reflected who I am and what I care about instead of taking on the drab same format of social media.