Blogging is hard. Not because it's hard to set up and run a blog, but the fact that you have to sit down and actually write. Looking back, I'm pretty sure I've spent more time testing various blogging tools than actually writing. Now it's 2018, and yet again, I'm switching platforms.

This time my blog is powered by Babble. Babble is a CMS I've written from scratch, and it uses YAML files for all data storage. You can read more about it here.

How I got here

The first iteration of this blog was hosted on Tumblr. When I decided I wanted to host it myself, I used Hugo for a while. Then I experimented with a few other static site generators. It was still hard to produce content for my blog. Maybe I needed a WYSIWYG editor so I could simply log in online, write, and publish in one step? Wanting to give that a try, I migrated my blog to Wordpress.

Wordpress is a very powerful tool, but it didn't fit with my hacker mindset - I want to be able to tweak and change everything on my blog, without investing years learning the platform behind it.

Last summer, I started working on a CMS. I wanted it to be file based (no database), so that it would work well with version control / Git. It had to be flexible to allow for most kinds of websites to be built on top of it, while at the same time being easy to use for both technical and non-technical users.

Babble is now about half a year old, and has been used to build several websites. It's still not finished, but it already works quite well.

Some key features:

  • Content structure (models) is defined in YAML.
  • An admin interface is generated based on these models. You don't have to use the admin if you don't want to. All files are human readable and easy to edit by hand.
  • It has built in caching. Pages are cached when first visited, and stored until the content used on that page is changed.
  • A WIP static site generator so you will be able to dump only static HTML files on your server for better performance.

I'll try to write more posts on Babble as the project matures. At its current state, the documentation is quite limited, and the internals may still change a lot, but I think this CMS has great potential.

Stay tuned for more!