X-Git-Url: https://projects.mako.cc/source/to_fork_or_not/blobdiff_plain/204cbd20168fb53ad1dea491c0ca2855d5e29487..b37c6f5aa5bfe30b36b5de509a1f0413f5a4783f:/render_templates.py diff --git a/render_templates.py b/render_templates.py new file mode 100755 index 0000000..fb2abb4 --- /dev/null +++ b/render_templates.py @@ -0,0 +1,39 @@ +#!/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) + +