Migrating This Blog to Kirby
30 Sep 2023
Yes, that's right dear reader, this site has gone through yet another change - it's now based on Kirby and I think I've finally found my blogging utopia.
Most regular readers will know that I struggle to stick with a single blogging platform. This is because I'm always on the hunt for something better, and I really enjoy learning new tools.
This time around, I've flipped from Blot to Kirby. I have to say, I've really enjoyed learning Kirby - don't get me wrong, it's been a challenge as I'm not a PHP developer, but it's been fun learning.
CMS? Git? Text editor?
I tend to flip-flop around different tools as none of them have a perfect workflow for me. For example, I love the WordPress CMS, but there's lots of features in WP that I don't use, so it would be good if I could edit the CMS UI to only display what I actually use.
I realise that the WP UI can be customised with plugins and code, but it's not really designed to do that. I want something native that I can use how I want.
I also really like the simplicity of a static site generator, like Jekyll or Blot, with a Git workflow that automatically publishes changes to the site.
Sometimes I wanna use a CMS that I can login to, other times I want to write something in my text editor and publish it via Git. It just depends on how I feel. Problem is, nothing I've tried in the past can easily do both.
But Kirby can...
Kirby comes with a fantastic CMS, dubbed the "Panel". Out of the box it's really bare bones, but it's designed to be customised to the site owner's needs. To do this, Kirby uses "blueprints" to customise pretty much every aspect of the Panel UI.
For example, here's a look at the homepage of my Panel. I've customised it so that blog posts and drafts take up the majority of the page, but I can also see the pages I have on the site, as well as a handy-dandy Git status for the site too:
Then, when editing posts, like this very post, I have another blueprint. I don't need feature images, template selectors, SEO gubbins and all that other noise WordPress offers. But if I did, I could easily add those fields to my
article blueprint. It's all just YAML.
I can go one step further and setup blueprints for pretty much any aspect of the site. For example (with a lot of help from Manu Moreale) I was able to create a blueprint for all the watches in my collection:
This can be done for all kinds of thing. I have a blueprints for images, so whenever I click on an image in the panel, I can add custom attributes like
class and lazy loading.
The Kirby Panel is ridiculously powerful - I've never known anything like it. Seriously, it's a joy to use.
Text files and Git?
But what if I want to use good old text files and Git to push changes to my site? You know, kinda like a static site generator. Well dear reader, Kirby has me covered again.
It's not quite the same as an SSG in that there's no frontmatter on Kirby, but there is something very similar. If I want to write a post manually, I'd just create a new sub-folder beneath my home page in the folder tree, then add a file called
article.txt so Kirby knows to use my
article template to display the page.
Then I just add the contents as follows:
Title: This is the post title ---- Description: This is the meta description for the post ---- Published: 2023-09-30 15:21 ---- Tags: Opinion, Meta ---- Text: This is where the main content for the post goes. Just write some **markdown** here and Kirby will do the rest.
It really is as simple as that. You already saw that I have Git integrated into my Kirby Panel thanks to this plugin. So once I'm done, I just push the changes to Github, and Kirby will do the rest.
It's so simple, yet so flexible.
The only negative I've really found with Kirby so far, is my lack of knowledge. It was really difficult for me to wrap my head around the various parts of Kirby, but things are starting to click into place and make sense now. It was the same when I started developing with WordPress.
I've already mentioned the huge amount of help I got from my friend Manu, but even if you don't have your very own Manu, like me, the Kirby forums are spectacularly good. The Kirby team have people on the payroll (I think) that assist in the forums. While I was setting up my Kirby site, I asked a lot of questions on the forum. Every single time I received a solution, and I never waited more than a couple of hours for a response.
I've never know anything like it. The Kirby forums are incredibly good.
Kirby isn't free. A license costs around £100 for a site, which lasts for an entire major release. Kirby is about to hit version 4.0, so if you buy a license now, even though they're still on v3.x, the license will carry over to version 4, which I think is great.
The Kirby team released some info on their new (and very fair IMO) pricing model.
I don't actually see this as a negative. Some people might, which is why I'm mentioning it, but I think it's very important to financially support these indie projects. And by having a cost associated with all major releases, it means Kirby has an ongoing source of income.
It's also worth mentioning that you can download and use Kirby indefinitely on a local development environment, it's only when the site is published to the internet that a license is required. Again, I think this is great as it allows people to try before they buy.
I'm really happy with my new Kirby powered site. It's so damn flexible, yet powerful. At this point, with the blueprints I've setup, it feels like I have my own, custom-made CMS that's designed just for me.
That's bloody impressive!
You know me, dear reader, a year from now I could well be running something completely different to power this blog. But honestly, I really doubt it as this is the first platform I've used that legitimately ticks all my boxes.
If you're thinking about starting a new blog, or changing the platform your existing blog is based on, I'd strongly suggest you try Kirby.
Lastly, I'd like to thank both Manu Moreale and Sonja Broda. Manu went above and beyond with the help he gave me, and Sonja - who's on the Kirby team - was the person that most often replied to my noobish forum posts. She was always patient with me, and always gave me the solution I needed.
Once I become more comfortable with the inner workings of Kirby, I intend to float around the Kirby forums to try and give something back to the community.