This stack, using org-mode, so Emacs, for writing content and Hugo to transform it into a website, is what I've chosen to build this site. I don't care much for the aesthetics; I chose PaperMod as the theme because it's nice and developed by a community large enough that it'll likely stay active for a few years. Since I'm not selling products, I have no interest in investing more time into building what is, from my point of view, just a vehicle/scaffolding for the text content I want to share. However, this article isn't just an explanation of this small piece of my software stack, which I'll gradually describe in various posts, it's also feedback on how you can create and maintain an aesthetically pleasing (in my opinion) personal website with very little effort.

tools of the trade

Hugo is a simple Go application, so it's go install-able without any particular issues on any distro. Most themes use Node.js (sigh), but even that is fairly manageable either through each distro's package managers or with its own personal package manager if you keep everything tucked away in a corner of your home directory. This allows you to create the web part, your site, the HTML/CSS/js/*, which can simply be placed in a directory served by whichever web server you like.

Org-mode isn't just a nicer markup language than Markdown; it's an entire ecosystem that lets you do just about anything. The text is "active" and "rendered live", you can execute code in a plethora of different languages, create TODOs with deadlines that form an agenda all within org-mode, attach files (org-attach), and countless other things. Now, for a little personal blog, almost none of this is strictly necessary, but it has its uses in organising one's digital life and thus in the integration of the site itself: quite simply, I create my posts directly from the daily note that Emacs/EXWM serves me at every login. There's no friction, no switching tools, no extra configurations, just files I create clicking on a link who execute a bit of elisp.

Emacs is the foundation, the "operating environment", only because LispMs are no longer developed and so Emacs doesn't boot directly on the metal, requiring a "slightly more complex" bootloader. It is anything but simple, but it simplifies life to a degree that those who have never used it just can't imagine.

Try seeing these videos to get an idea:

There's a whole encyclopaedia's worth to tell, but here I'll just explain why I chose this stack and why I'd recommend a similar choice to anyone wanting a personal website, and more generally to anyone wanting a FLOSS desktop computer that's truly theirs and serves them, rather than being used as machine where the user is more an operative arm and can only partially control the machine.

conclusions

This post is just a taster for a brand-new blog; ideally, I intend to take my time and gradually describe my software stack, what I recommend to others for being a digital citizen, master of one's own domain, and part of a digital civil society that uses the web as its primary face, the equivalent of the perimeter of a physical property with its own gate and house number.

The idea is to start with an example that I use personally and might interest others, give a taste of what it can offer, and slowly provide details and suggest sources for further reading so you can make what I show here your own. This way, you can choose where to invest your time if you're interested, rather than scrolling through long-winded information that fails to show the big picture beforehand, being sometimes pointlessly detailed, and at other times too lacking in the necessary details to actually do it yourself more than just watching what others have done.