[svn] fixed loop context bug, added new jinja webpage

--HG--
branch : trunk
diff --git a/www/generate.py b/www/generate.py
new file mode 100755
index 0000000..f8111f3
--- /dev/null
+++ b/www/generate.py
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+"""
+    jinja webpage generator
+    ~~~~~~~~~~~~~~~~~~~~~~~
+"""
+import os
+from codecs import open
+from jinja import Environment, FileSystemLoader
+from jinja.filters import stringfilter
+from pygments import highlight
+from pygments.lexers import get_lexer_by_name
+from pygments.formatters import HtmlFormatter
+
+
+formatter = HtmlFormatter(cssclass='syntax', encoding=None, style='pastie')
+
+env = Environment('<%', '%>', '<%=', '%>', loader=FileSystemLoader('.'), trim_blocks=True)
+env.filters['pygmentize'] = stringfilter(lambda v, l:
+    highlight(v.strip(), get_lexer_by_name(l), formatter))
+
+
+def get_files(folder):
+    for fn in os.listdir(folder):
+        fn = os.path.join(folder, fn)
+        if os.path.isdir(fn):
+            for item in get_files(fn):
+                yield item
+        elif fn.endswith('.tmpl'):
+            yield fn
+
+
+for filename in get_files('.'):
+    root = './' + ''.join(['../' for _ in os.path.dirname(filename).
+                           split(os.path.sep)[1:]])
+
+    t = env.get_template(filename)
+    f = open(filename[:-5] + '.html', 'w', 'utf-8')
+    f.write(t.render(
+        file_id=filename[2:-5],
+        root=root
+    ))
+    f.close()
+
+f = file('static/pygments.css', 'w')
+f.write(formatter.get_style_defs('.syntax'))
+f.close()