diff options
Diffstat (limited to 'make_site.py')
-rwxr-xr-x | make_site.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/make_site.py b/make_site.py new file mode 100755 index 00000000..4c2605ac --- /dev/null +++ b/make_site.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +# coding: utf-8 +# +# This file is in the public domain. +# +# This script runs the jinja2 templating engine on an input template-file +# using the specified locale for gettext translations, and outputs +# the resulting (HTML) ouptut-file. +# +# Note that the gettext files need to be prepared first. This script +# is thus to be invoked via the Makefile. +import jinja2 +import sys +from pathlib import Path, PurePath +from inc.site import gen_site +from inc.fileproc import copy_files + +env = jinja2.Environment(loader=jinja2.FileSystemLoader(str(PurePath(__file__).parent)), + extensions=["jinja2.ext.i18n"], + lstrip_blocks=True, + trim_blocks=True, + undefined=jinja2.StrictUndefined, + autoescape=False) + +if len(sys.argv) >= 2 and sys.argv[1] == "-vv": + DEBUG=1 +elif len(sys.argv) >= 2 and sys.argv[1] == "-vvv": + DEBUG=2 +elif len(sys.argv) >= 2 and sys.argv[1] == "-vvvv": + DEBUG=3 +else: + DEBUG=0 + +def main(): + x = gen_site(DEBUG) + conf = x.load_config("www.yml") + x.gen_abstract(conf, "newsposts", "abstract", "page", 1000) + x.gen_newspost_content(conf, "newsposts", "content", "page", "en") + x.gen_rss("inc", conf, env) + if DEBUG: + print("generating html from jinja2 templates...") + x.run("template", conf, env) + if DEBUG >= 2: + print(Path.cwd()) + _ = Path("rendered") + for child in _.iterdir(): + print(child) + if DEBUG >= 2: + print(Path.cwd()) + if DEBUG: + print("generating html from jinja2 news templates...") + x.run("news", conf, env) + if DEBUG: + print("copying directories...") + x.copy_trees("static") + x.copy_trees("dist") + +if __name__ == "__main__": + main() |