--- /dev/null
+#!/usr/bin/env python
+
+import os
+import re
+import codecs
+from time import ctime
+from os.path import walk, getctime
+
+root = os.path.dirname(__file__)
+
+from jinja import Environment, FileSystemLoader
+jinja_env = Environment(loader=FileSystemLoader(root))
+
+def render_walk(arg=None, dirname='', filenames=[]):
+ for filename in filenames:
+ match = re.match(r'(.*)\.tmpl$', filename)
+ if match:
+ filename_base = match.group(1)
+
+ # skip if this is the layout file
+ if filename_base == 'layout': continue
+ if filename_base == 'latex-like-layout': continue
+
+ vars = { 'last_modified' :
+ unicode(ctime(getctime(os.path.join(dirname, filename)))) }
+
+ # remove the root from the dirname
+ dirname = re.sub(re.escape(root) + r'/?(.*)$', r'\1', dirname)
+
+ tmpl = jinja_env.get_template(os.path.join(dirname, filename))
+ tmpl.render(vars)
+
+ output_file = codecs.open(os.path.join(dirname, filename_base + '.html'), 'w', 'utf-8')
+ print >>output_file, tmpl.render(vars)
+ output_file.close()
+
+walk(root, render_walk, None)
+
+