Vasilis’ nerd blog presents

Making my own CMS, hahah

The first weblog-like website I made was simply a bunch of HTML files connected with hand written links. Later I found out there were weblog systems. They seemed handy. The first one I used was the incredible Pivot flat file system made by the incredible Bob den Otter ∞. I used Pivot because I was afraid of databases. Later, when this fear faded a bit, I switched to wordpress. But wordpress is overkill for a personal website1. I looked at things like Kirby and 11ty, but whenever I want to change something in any of those systems it takes me forever to find the right place. Way too complicated, with way too many generic features for the very specific stuff I want. And so, as all nerds do, I started making my own CMS. A CMS for myself, for someone who understands and likes HTML, CSS and PHP.

Why would you ever want to do that?

I found myself managing the system, more than that the content management system was managing anything for me. Software like wordpress needs constant updating. I don’t want to update software, I want to build stuff and I want to write stuff. That’s one reason to make my own CMS.

Another reason is that I don’t like the idea of templates. I think they make the web boring. On every weblog, all pages look the same. And I think the way something looks influences its meaning. So I want to be able to tailor every page to its exact needs. I did add default styling to each page, but I can easily add to it, or completely overwrite it if I feel like it. So this is a CMS that invites me to be creative. It is a system that allows me to completely manage my content in every way.

How

Instead of using some server rewrite magic to create nice URLs, this system simply generates a real folder with this slug name, with all necessary files in it: a markdown file, a CSS file, and a PHP file. I write the content in the markdown file, if I want to I can add styling to the CSS file, and if I want to go crazy I can change the complete structure of the page in the PHP file. I don’t need images yet, but in the future I’ll probably write a simple script that generates images in different sizes. This will happen again in the folder itself. All content in one place.

I look forward to playing with this CMS. It is a very Vasilis-like CMS. It seems to fit in perfectly with my need to create stuff.

  1. And the guy who runs it cannot be trusted.