In one of my jobs as a sysadmin, I saw a lot of PHP-based systems. They’re all easy enough to get started with, but can be overwhelming to actually use and maintenance is often overlooked. Some of the the most popular PHP-based publishing platforms, such as Wordpress, Drupal, and Joomla!, are very widely deployed but most instances not kept up to date. Skipping updates means falling behind on security patches, making them ripe for exploitation by the latest and greatest scripts and bots. They are also filled with features that some people will never use. I wanted to run something that wouldn’t use a lot of resources to run, nor require much time to manage, so I could focus on providing content.
I spend a lot of time in text editors writing code, so I wanted something that took plain text files and output plain static HTML files with a bit of theming. There’s a myriad of places that can host static files cheaply, or for free. That meant I wanted a static generator. One of the most well-known generators is called Jekyll, which powers GithubPages, and its associated framework Octopress. They’re in Ruby but I wanted something in Python so I can hack on it if need be. I initially found out about Mynt and read about how to get it up and running from samesake, but the project did not seem to be active. I eventually found Pelican, which is under active development and accepts both ReStructedText and markdown. There is also an active pelican-themes project! Thus, I have settled on Pelican for this blog, but I am also adapting some of the automation techniques described in the samesake article about Mynt.