Announcing Miril, a Static Content Management System in Modern Perl

I am proud to announce the availability on CPAN of my latest project, Miril. Miril is a static content management system - it takes data from some source, e.g. a database or plain-text files, and generates static html. What makes Miril different from other tools that do a similar job (such as ruby's Jekyll or homegrown solutions using the Template Toolkit), is that it provides a nice user interface for editing and managing content and you can safely install it for non-geeks to use.

Yet another CMS???

Like all good software, Miril was born out of frustration. Most modern content management systems share two fundamental characteristics that I do not particularly like:

  • They are either written in PHP or they are exceptionally difficult to deploy (or impossible to deploy if you are on a shared host)

  • The want to do it all for you - they not only let you manage content, they also give you comments, discussion forums, surveys, social networking, and anything else under the sun. If you only need a small website with information about yourself, your company, or your software project, this can be a huge overkill.

I had been using Drupal for some time (found it to be one of the saner pieces of software written in PHP), but the time required to set up even a simple website in Drupal with custom design was frustratingly long. Gradually I started writing my own scripts in PHP, until I realized that I did not really need dynamic page generation for anything else besides the content management itself, and could just as well do that content management from a perl program that runs as a cgi-script.

Miril makes a hacker's life easy

Miril has one primary goal: get your site online and working as fast as possible.

  • The whole of Miril currently installs from CPAN. You only need to create a standard CGI::Application script that runs it.

  • Miril is configured entirely using plain-text files. This means that after you have created your first site, you can just copy and tweak you configuration files to get started with new sites - no need to go through on myriads of checkboxes and drop-down lists and submit buttons.

  • Miril can also store its data in plain-text files (actually that is the only place where it can store data right now, database support will come soon). You can quickly set up your website without messing with databases, and since all generated content is static databases do not give you a performance boost anyway.

  • Miril's templates (currently only HTML::Template syntax is supported) make it easy to apply your custom website design. The look and feel of Miril's user interface is completely independent from the look and feel of your website - unlike CMS's such as Drupal or Wordpress which mix the two and thus sentence website authors to long hours of painful and error-prone theme adjustments.

  • Miril's user interface is used strictly for managing content, and is kept as simple as possible. In fact, Miril is probably the CMS with the simplest user interface on the market right now - so you can spend as little time as possible training your users once the website is ready.

How to get it

Miril is currently alfa-quality software and is under active development. The code is pretty messy and it spurts out the occasional warnings - glitches should be expected! Miril is completely usable though, and it runs the site you are currently reading. You can get it from CPAN, and take a look at the Manual to get started. The repo is at

Posted in Miril
blog comments powered by Disqus