15 Jul 2017
Static site built with a Flat-file CMS
This is a journey, a new one at that. First, an interest in static site generators as I’ve written about, then I wanted to build my own site using just PHP (with HTML/CSS/JS) and Markdown. But after researching for a new project then but not anymore, I found many of these static sites built with PHP, like how I envisioned it, to already exist and had I not opened this door, I would not have discovered them.
No, I’m not losing interest in WordPress. I’m interested in building faster websites where either the content is read off a Markdown file or there is a backend for the editor to manage. These are called Flat-file CMS (Content Management System) and most of them do not use a database, which means everything loads much faster than WordPress and these sites are more secure in and of themselves (granted it’s updated like anything else and the code is written well). CMS by itself in the name has a database but written after “flat-file” there is no database. WordPress is a CMS and these others are Flat-file CMS.
Each one of these was built with a specific purpose in mind. Most of them use the Twig templating system. Some are just PHP and others are built with more “complications” less simplicity (adding Laravel to PHP, I’m just not there yet in my knowledge to appreciate it). Others, the content stays within the theme opposite to what I’m used to having in WordPress where the theme can be changed and the content moves between them. Here are a few links to the versions I found and review articles too. Some use a database but most of them don’t. Jekyll is not a Flat-file CMS but a static site generator (you build the site on your computer, then push it to GitHub Pages or your server using a terminal). Some are not free. Some have a blog function.
I tried out Kirby on MAMP Pro (local) and its User Interface (UI) was too plain and it wasn’t free to use for clients. Then Pico, I only read about and if you’re not designing for a client but yourself, Pico is fine. Then there was OctoberCMS but I think this one kept the content with the theme. Finally, I ran a local copy of Grav and it felt very close to WordPress, it’s free, and there are many features, plugins, starter themes, a good community, group roles, easy updates, it’s client friendly with a nice UX/UI (User eXperience/ User Interface), and documentation available for it. It took me a day of looking at it to understand it. And you don’t need to use Markdown if you don’t want to although I would argue it’s the future of editing text on websites without the need for a WYSIWYG editor or HTML/CSS that might break your site if you’re not sure how to use it.
Installing a local Grav was just unzip their files into a folder and go to the login page to create the admin account. Super easy there and yesterday, even though I know it’s shown in the Grav documentation, I found a blog post where someone explained in layman’s language how to create the editor account (limited to just the content and media library—I think I just liked their theme and how they lay out the code sections in their post, feels clean. :-) ) so your client is not overwhelmed. CLI (Command-line Interface) is new to me as a term but I’ve used the terminal to control the computers I’ve used from beautiful black DOS to Linux to Unix (Mac) to SSH into CISCO network switches and routers. I just needed to learn new commands to talk to the CMS using the terminal. Not really hard to pick up.
WordPress is great for really large projects, e-commerce, membership sites, and yes, there is static site generator plugin built for it if you want that speed in the frontend as Khürt Williams (islandinthenet.com) directed me to it. Sometimes you just need a faster and simpler CMS, like these Flat-file CMS systems. And I would argue that building themes for them are much faster because you can use Twig instead of PHP functions.
WordPress is what I’m passionate about, whether that’s building themes from scratch, child themes, modifications, or just backend work. If you need a WordPress website whether self-hosted or on WordPress.com, check out my packages on the home page. With a similar user experience in the backend, Grav is a good companion.
I hope to learn more about Grav as I’m considering what to do with this WordPress website because hosting costs too much these days. That’s for another post down the road.