Don’t call me DOM

14 December 2005

Macroformats

Filed under:

While microformats are all about embedding data in HTML, I thought that macroformats could be a good way to talk about transforming existing data into HTML. I hear you say this didn’t need a name, it existed before; but we all know this is all about naming in the end…

So, here is on the “macroformat” technique that I use to keep up to date the list of projects I’m working on at this time: it’s based on an iCalendar todo list that I maintain using Evolution.

The idea is that each of the todo item is in fact a project of mine, and is categorized into a simple HTML page depending on its iCalendar characteristics as either “Planned”, “In Progress”, “Some day pile” or “Past”. It relies on iCal2RDF to parse the iCalendar into RDF, which I then transform into XHTML using a simple XSLT stylesheet.

To have this happening automatically when I modify the todo list with Evolution, I’m using dnotify to watch the directory where the Todo list sits with the following command: dnotify --modify ~/.evolution/tasks/local/system/ -e ~/bin/update-tasks which is started with my graphical login session. update-tasks is a simple shell script that does the right thing:

/usr/bin/perl ical2rdf.pl -xnames=http://www.example.org/dom-todos/# ~/.evolution/tasks/local/system/ |
 xsltproc progress.xsl - > InProgress.html

and then publishes it to the W3C Web site (in a private area) using CVS.

Picture of Dominique Hazael-MassieuxDominique Hazaël-Massieux (dom@w3.org) is part of the World Wide Web Consortium (W3C) Staff; his interests cover a number of Web technologies, as well as the usage of open source software in a distributed work environment.