Meet Kirby
Posted in thoughts
Tags :TL;DR: Kirby is an elegant content management system, both in its design and its performance. Amongst many things, it provides a fast templating engine coupled with a powerful chainable PHP API.
, I attended Bastian Allgeier’s workshop on Kirby as part of New Adventures 2020, a fast and flexible file-based content management system.
I’ve always been a keen proponent of file-based CMSs for the simplicity and security they offer. I even went half-way building my own back in the mid 2000 (a couple sites are sill running on it today). The file system is robust and resilient, and removing the database from the equation simplifies the setup and reduces the number of moving parts you have to worry about.
Bastian’s workshop was very well organised and he delivered a top class experience, refocusing the flow of his presentation around our questions and going more in depth when required. He prepared a set of Kirby installs with increasing levels of complexity that followed his presentation.
Feature #1 : all of Kirby and its content is located in one folder. Super convenient for versioning and deployment.
I was new to Kirby, and was looking forward to have its philosophy disclosed by its creator. I wasn’t disappointed.
I loved the file-system based organisation of the website, using filenames to link associated files and info. Simple, portable and efficient. Templating can be as simple or complicated as you like, with snippets (php includes or partials), collections (same repeated type of page), models (extend functionalities of objects) and controllers (link related collections).
Feature #2 : start simple, and add complexity progressively.
I still have to wrap my head around the different ways of structuring a site, but will soon have the opportunity in an upcoming project.
You can manage the whole site at the command line if you like, or build admin panels for your content editors and managers.
Feature #3 : you can build and customise the administration panels to your heart’s content through the use of blueprints.
The multilingual support is cleverly file-based too, adding language extensions to filenames. Starting out with your main language, you can switch to a multilingual site in a breeze.
Feature #4 : simple multilingual support out of the box #i18n.
I still have to explore user management, plugins and extensions through its REST APIs opens it up to external data sources. A whole other world to explore.
In short, Kirby is elegant, both in its design and its performance. Amongst many things, it provides a fast templating engine coupled with a powerful chainable PHP API. I haven’t been seduced this way by a content management system since I discovered Perch, back in 2010.
Even though I have still to build something real with it, there is something in Kirby that aligns perfectly with my way of seeing and feeling the world of content management. I look forward to a long and happy relationship.
Thank you Bastian.
Comments and responses
27 Jan 2020
28 Jan 2020