One more new blog
And once more – a new blog.
I will start this one with a historical overview of all the blog variants I put into the internet (because by now it kinda sums up):
- roughly ten years ago
Technically this is not the same blog, because the posts on the Wordpress one never got transferred to the following blogs. At that time, it was mostly about game development, procedural world building in Löve2D/Lua. And at max 2-3 posts, as far as I remember.
written by hand
- about five years ago
- conserved at riidom.eu/blog_old
Check the fancy hover animation on the logo!
What I liked: it was pretty fast.
What I liked less: For each new post I needed to make five changes in three different files. Annoying and not exactly motivating. I wrote a bit, but not really a lot during this time. If you care to open the inspector, check the bottom of the html. I stashed some comments there, ImageMagick commands, some link attributes and a small bash script.
I almost forgot the biggest problem: No routing. It's always the home page URL, posts don't have own URLs. So you couldn't even link a specific post. This is what made me search for a different solution.
After memory comes back: It was not fully hand-written, but with aid of HTMX, made in SPA style. HTMX is capable of simulating routing, making the browser history (back button) look alright, but I didn't get it to work properly.
- two, three years ago
- conserved at riidom.eu/blog
My enthusiasm after finishing it, can be read up in the last post. Now, almost a year later, a bit of disillusion added to the mix.
What I liked: Svelte is very very fast. Which is especially nice, if your cheap shared hoster isn't. It was fun to implement somewhat advanced features in Svelte, since it's done nice and straightforward in plain JS (check the filters). Writing posts happened in markdown, which is quite a bit nicer than writing pure HTML.
What I liked less: All the overcomplex NPM jazz. As long as it works, it's really nice, admittedly. Write some short commands into console, and it starts all the compile, bundle, tree-shake and what-not stuff. But woe betide if some major upgrade breaks your stuff, or one of the way too many dependencies decides to cause trouble. When you get warnings about security problems in some random dependency you never heard of before, it's becoming rough terrain.
To not exaggerate: This didn't happen, in this project. It's more like projected worries than actual problems. But still, I didn't enjoy the thought of probing the build process after a month of not touching it. And on top of that, there is a SSG (static site generator) specific problem: A new post means, compile everything, re-upload everything (minus media, of course). This is also annoying, especially, as mentioned, with a slow platform.
And as you can see in the list of posts: I wrote exactly one announcement post in the Svelte era. That's really bad.
- brand new (at time of writing)
- live at: right here
Before I started to create the new blog (took me 1-2 weeks, or 10-15 hours roundabout) I was busy evaluating what to use.
Returning to Wordpress has been an option, but Wordpress is too slow for my hosting platform. And I don't like being after updates and security problems all the time, or have to check if the site got hacked. Don't get me wrong: This is all but likely (Wordpress is pretty secure, especially if you evaluate your plugins a bit before installing), but still I wouldn't leave a Wordpress site unattended for months. And if you check the frequency of my posting, you can probably see why this is important :)
Then there is Grav-CMS, which I have looked at a few times by now. Grav is a full-fledged CMS with admin interface, but instead of using a DB it is flat-file. Beside testing it 2-3 times I didn't do anything serious with it, but I liked it. I decided against it because of the admin interface. I am fine with writing markdown and push via FTP, so I didn't need the potential attack vector of a login form and an admin interface.
I also considered briefly Zola, another SSG. But then I would have a similar problem like with Svelte – pushing an ever-growing blob with each new post.
Time to talk about the winner, PicoCMS! What I like: a simple structure (a fresh Wordpress comes with ~20k files, PicoCMS with 600) and a database-less flat file system. I write in markdown, and there is no danger from user input, as in a login form or any kind of dashboard. I love to not have to care about that. When I write a new post, I make two new markdown files, english and german, push them into the respective directory, and do the same with assets (mostly images and thumbs) – and that's it! Everything is live immediately. The post list, the RSS feed and such will all reflect the new state without me doing anything about it. It's one of the most update-friendly systems I have used so far.
What I like less: The whole thing is quite the unique mix from markdown, twig, macros and some JS. I had trouble realising some features inside that dev eco system. PicoCMS features plugins (written in PHP), and probably this is the way to create the slightly more advanced stuff. Now my PHP is kinda basic, and there are API docs, but not exactly a tutorial taking you on a gentle ride. So looked a bit at example plugins, or ones that almost do what I want, but in the end I didn't dive deeper into that topic. The consequence is that this blog is a lot simpler than the Svelte one – but I can live with that well.
Also the blog is a bit slower than before. But if you compare a PHP-based system on a pretty slow server with client-side running JS, it's pretty clear which is going to be faster. It is not too bad though, and I am pretty sure still a lot faster than Wordpress. The site flickers slightly when visiting a new page, due to the old-school "reload whole page" approach. The Svelte blog was updating only relevant parts in SPA style, which looked a lot smoother. But it is also not too bad (basically what you see on the internet all the time anyway), and I don't see that as very important anymore.
So the blog will see some updates now?
Well yes, that was the idea behind all that. If I still don't like writing posts, it's definitely not the fault of the tech stack. But I don't think this is going to happen.
I promised something last time and kinda didn't deliver: But from now on the blog will feature more visual stuff again, like in the beginning. The basic idea behind the blog was to simply write about various hobby projects I work on, whatever it is, but the focus is going to be more on gamedev, graphics and animations in future.