David Riebenbauer


I have redone my webpage and started a blog. As this page ony contains two pages, at the moment, this was not much work

Finding an HTML preprocessor

A lot harder than building the page was to find a smart way to do it. What I was looking for was a tool which helps me to create a set of static html pages, with the help of page-templates, ans also allows me to do some scripting to build menus and the like.

One little thing on my wishlist for the thing is that it shoud allow me to use markdown syntax, to write the page content. Of course I do not expect that to work out of the box. But I want the possibility to implement that without much pain.

I looked at several HTML Preprocessors and am still a bit undecided. But I have taken one now and started building my page with it. I have looked briefly at the following options.

WML - Website Meta Language

The first I thought of was WML, as I already know two sites using it. The page of the LUG Graz and the Homepage of Debian. I started looking at the documentation and was not too pleased. WML uses nine processing steps and this might make it a little too complex.

The fact that the home page of wml features quite a few broken links, and that it does not seem to be under a lot of maintaince drew me away for now. I started looking for something else.

Later I took a closer look at the source of the Debian webpage which looks really nice and makes me consider wml again.


The next thing I stumbled upon is Cheetah. It is written in Python and uses an object-oriented approach. I did not really find out how much sense it makes to subclass templates from each other but it sure sounds interesting.


GTML is an HTML preprocessor modeled after cpp (as in c preprocessor). I don't find the thought of processing html using cpp very pleasing. Also this thing doesn't seem to be maintained since 1999, according to the modification date of the home page.


htp is the one I tried on my own two pages I have on this site by now. It it is very simple and uses an xml-like syntaxed language which has not a lot of features but is easy to use. You can define macros and variables, include files, create templates and execute external commands.

This sounds quit nice, but unfortunatly htp is not very well suited to write complex macros. Yes you can use external scripts, but wouldn't it be better to use an existing, more powerful scripting language directly in the template system?

It is a quite nice language but also very limited. As soon as things get more complex you might want try something else.