Picking a platform to host this blog was harder than I expected it to be. And I didn't think my requirements were that tough:
- I just want to write. I'm not interested in images, video, or complex layouts. It's 2025, but I want a blog layout circa-1999. Simplicity matters.
- I'd prefer to do it in a nice front-end. I don't want to write posts in VS Code and deal with files. But if I can still export everything as Markdown, awesome.
- I want to design my own theme, and have a nice experience doing so. That means a good template language and a workflow for previewing changes.
- I don't mind hosting it myself, but not if doing so is going to be overly complex. If I have to run more than one server/container and you don't auto-update, I'm out.
- I'd like to have different post types or post blocks. If I write about a movie, book or video game - it would be great to have a metadata preview of that item in the post automatically.
I think people underestimate how important the "famous" Wordpress 5-minute install was at helping them gain traction. If it's too complicated to start, most people (including me) will just bounce off.
Wordpress is too heavy for what I wanted here. We use it for the Issuebear website because Bricks is amazing for building that kind of SEO-driven brochure website.
I spent a long time trying out different static site generators, but universally found them to be an unsatisfactory experience:
- Writing in a text editor just doesn't do it for me. It looks wrong, the spell checking is terrible, and I don't want to keep remembering how to format the front-matter YAML.
- The go templating language in Hugo is an abomination.
- I always need to go back to a terminal and remember whatever command I need to run to make the thing work.
- And so many of them are Javascript, that's an npm nightmare.
- I didn't find any that would automatically look up movie details for me. Or any that had a plugin system I could understand well enough to do it myself.
- The Python options are very limited. Pelican seems best, but it never clicked.
I was tempted by Pika, but it was at the opposite end of the scale from Wordpress - too simple.
So I've ended up with Ghost. Which is more "best of a disappointing bunch" than a true recommendation, but there are some positives:
- The editor is nice and easy.
- It has some interesting membership options that could be a direction in the future.
- The templating language is Handlebars and they've done a good job adding functional helpers to it (better than 11ty has).
- Although the theme development experience is really poor, because I'd have to install Ghost locally to quickly iterate on changes. I'm stuck compiling zipped themes with a gulp file, manually uploading them and crossing fingers.
No automatic movie/book/video game inserts though. It also has a poor configuration experience and is expensive for what I'm using it for (but very cheap if you're actually running a membership site).
They also used to support sqlite as a database, which made it easier to host yourself. Now they only support MySQL 8.0, which makes it a two container setup on Render. That pushed it beyond "I'll host it myself".
If we launch a blogging platform this year, you'll know why.