summaryrefslogtreecommitdiffstats
path: root/render.py
diff options
context:
space:
mode:
authoryves <steve.harrison@gmx.net>2013-05-21 23:48:56 +0200
committeryves <steve.harrison@gmx.net>2013-05-21 23:49:19 +0200
commitc83af31a999f4f29532db0dc22638a142a91171e (patch)
treefe3ab3752fd7b576064f1ce675d7a79cee5622a8 /render.py
parent469b56ed8f9885b7bc7a18723b14f4690c8d5df4 (diff)
downloadwww-c83af31a999f4f29532db0dc22638a142a91171e.tar.gz
www-c83af31a999f4f29532db0dc22638a142a91171e.tar.bz2
www-c83af31a999f4f29532db0dc22638a142a91171e.zip
rewrite as static site generator
Diffstat (limited to 'render.py')
-rw-r--r--render.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/render.py b/render.py
new file mode 100644
index 0000000..39e06b1
--- /dev/null
+++ b/render.py
@@ -0,0 +1,48 @@
+#!/usr/bin/python2
+
+import yaml
+import os
+from jinja2 import Environment, FileSystemLoader
+
+# configs
+basepath="./data"
+www_dir="./www"
+
+env = Environment( loader = FileSystemLoader('./templates'))
+hosts = []
+
+def load_yaml(path):
+ with open(path) as f:
+ return yaml.load(f)
+
+hosts = load_yaml(os.path.join(basepath, "metadata", "hosts"))
+
+data = []
+
+for host in hosts['hosts']:
+
+ host_data = load_yaml(os.path.join(basepath, host))
+ template = env.get_template('host.html')
+
+ print("Rendering host: " + host)
+ url = host + ".html"
+ with open(os.path.join(www_dir, url),"w+") as f:
+ f.write(template.render(**host_data))
+
+ host_data['url'] = url
+
+ data.append(host_data)
+
+
+template = env.get_template('index.html')
+
+
+print("Rendering host index")
+
+with open(os.path.join(www_dir, 'index.html'), "w+") as f:
+ f.write(template.render(hosts=data))
+
+print("done")
+
+
+