Websites are hard, actually

August 27, 2021

You know, I feel like I understand why people pay so much for webhosting with ready-to-go blogs. Because managing your own VPS server, installing your own CMS, configuring the damn thing so it doesn't crash your stuff is hard. Really hard.

This whimpy page took me over two work days to build, all because I didn't know what I wanted from it. Well, I kinda knew. I wanted a very lightweight blog, a little something-something that would be easy to post to, wouldn't have to depend on other people's platform that can come and go in a moment's notice (a lesson I learned from trying to build my own website depending on other people's help and ideas).

A lot of suggestions online mentioned Hugo, a super-fast static page builder based on Markdown and which you're supposed to combine with git commits to write to. Hugo requires you to install a program on the server you run it to generate the actual website. There is no GUI whatsoever. You need to re-generate your website every time you edit your posts (there is a live server: it doesn't work for me, I tried).

Here's a problem: that's nerd bullshit for nerds who have way too many time on their hands when they sit down and blog my undiagnosed ADHD ass cannot stand the thought of opening up a markdown editor, typing everything out in a markdown file, uploading the file or committing the changes via git and rebuilding the page only to realise I made an unfortunate typo in the very beginning of the post, so I have to re-do this ritual all over.

I get it. Programmers are familiar with the idea of compiling code, so it's a not a big deal that they have to open terminal and recompile the website. Plus, making a static website means your website is very fast. But I am not one of them. I too have many times committed the sin of writing blogs directly into the CMS window.

But if that CMS window works and I don't need to fire up Typora or iA Writer and can just open a new browser tab, why not?

So with that mindset, I decided to try out a number of CMSes and blogging engines to see which one I like the most. WordPress was immediately out because it is too heavy. Ghost is snappy but has too many monetisation features I don't care about and its editor gets slow sometimes for no explicable reason.

After more googling, I turned to a solution that my friend and many smaller bloggers regularly use: Aegea by Ilya Birman. Aegea is made with simplicity in mind, however its many of its under the hood features extended its usability enough to not feel limiting. It's also very integrated with many local services like Yandex, Telegram, VK, etc. One drawback of this engine, however, is lack of page breaks. Your texts are just laid out in their full length, no matter how long. If you want to scroll past two long posts, tough luck.

I, however, ran into another issue which limited my use of Aegea: for some reason it gave me grief with RSS. Even though WordPress and Ghost generated XML feeds no problem, something about Aegea tripped it up. It did generate something but that something was unusable and was not encoded properly, and the W3 Validator claimed it was declared gzipped when it wasn't. Perhaps it's my poor knowledge of NGINX, perhaps it's the idiosyncracies of my particular web server, but it just wouldn't work. I knew this is a feature nobody would use for my website, I knew it wouldn't really matter but it bothered me to no end. I killed many hours trying to diagnose this issue (mostly through googling and trial-and-error editing of NGINX configs), but gave up in the end.

Defeated, but unrelented, I moved onto the other candidate. Hugo.

Hugo... is a thing. There is no GUI, there is no user-friendly onboarding. You read the f*cking manual until you understand it. You generate a static site and regenerate it every time there is a new post you want to write. It integrates with GitHub incredibly well. It only works with Markdown. I get it, but I want to write, not do tech stuff. I've had enough of tech stuff finding an engine for this stupid blog idea of mine. I did give Hugo a shot. I found a template I liked, I tried to understand, I really tried to understand it, but to no avail. Maybe it's for the better, because having to open a terminal window and commit drafts through git would very educational, but also incredibly annoying. Plus, having to figure out how to properly configure NGINX for each of my new engine escapades was getting on my nerves and wasting lots of my valuable time.

There are also CMSes/control panels that plop onto Hugo and work as a layer on top to do the git commits and other nerdy shit for you. That's too complicated for me already, sorry. Hugo is good at what it does but what it does isn't necessarily for me.

Publii is another static website generator. It works, kinda, but it requires the use of a desktop app. There is no mobile app or a web interface to easily type your thoughts into. It uses a weird shade of blue that makes my laptop screen dither. I don't like the UI. It's probably an Electron app in a trench coat. I don't need it.

At that point I tried installing Bludit. Bludit seems lightweight and has enough features in the control panel to last a while and maybe monitor a bit of analytics. But installation couldn't even run because my NGINX config was wrong so I gave up and went looking for other solutions.

Teletype was looking intriguing. But unlike the other things I mentioned it is a service, not an engine. I decided to not bother in case it dies like many other free blogging sites before it or starts pushing policies and changes I don't care about.

After trying to troubleshoot Aegea again for a few hours I officially gave up. I decided to return to square one and also rethink my choices.

Bludit started to look like a good choice again. After a bit of work, my blog is now up and running on Bludit. It has its problems: the preview feature is borked for me, at some point an odd page break broke Markdown formatting and I had to customise a theme by hand, but it all worked out. I like it so far. I might make a light-and-dark-theme set up for it too. Right now it's dark mode only.

Still, websites are way too hard if you have no money. I want two days of my life back.

P.S. I only typed this post out because my laptop's keyboard is so nice and tactile to type on. Lenovo keyboards are great.