July 11, 2017
Let's Build: A Consultancy Website - Part 13
It's finally time to code! And with that, I needed a good foundation to build our website on top of. Meet Kirby, my CMS of choice for this project.
If you have ever explored other content management systems in the past you may have heard of Kirby. If not, I would describe it as a very trimmed down but an extendable version of WordPress that is flexible as hell.
The larger half of this part of the series is me walking you through Kirby from the front-end view. We'll explore the panel, how to install it, what is possible from the CMS and discuss the differences between it and other content management systems.
No database required
My favorite selling point of Kirby is the lack of databases. No longer do you need to worry about spam, bots, and hackers from injecting harmful code into your website's database. This alone sold me as I've had many horror stories with WordPress in the past. This is one of those big downsides to using WordPress as your CMS. While the community is massive and there's virtual support for anything you want to do, it quickly becomes a target for security flaws.
Blueprints a.k.a. custom fields
Another big selling point for Kirby is what is known as blueprints. These define the way the CMS fields are displayed on the back end of the site. Creating these is done using a simple language called
YAML which is very easy to learn.
There are a large number of field types to choose from. All of these can be defined inside your blueprints. If you are coming from WordPress you may have used Advanced Custom Fields in the past. Think of Kirby as both WordPress and ACF combined but much more efficient in terms of resources and speed.
The panel serves as the backend of your Kirby based website. Here you can add content to your heart's content. The panel can be branded, extended and translated with ease. Depending on your needs and wants out of a CMS you can build something completely custom using Kirby as an underlying framework.
Installing Kirby is dead easy. Since there's no database to speak of you simply need a local PHP/Apache server running. I use MAMP for most of my PHP based sites these days though there are other tools in the wild depending on your preference.
You can and should version control your installation. I won't be showing my process with Git in this series but there is a repo on Github I will be sharing as time goes on of the finished site.
That said installing via Git is possible or you can simply download the zip archive on the Kirby website. After downloading I renamed the folder to
endlyss for this project and dropped it into my
_sites folder which is referenced to our MAMP installation. From here I serve of the site at
localhost:8888/endlyss and all is ready!