from jinja2 import FileSystemLoader, Environment from pathlib import Path import os import sys if len(sys.argv) != 2: print(f"Usage: {sys.argv[0]} ") sys.exit(1) ROOT_DIR = Path(sys.argv[1]) TEMPLATE_PATH_LIST = [ROOT_DIR, "templates/"] loader = FileSystemLoader(searchpath=TEMPLATE_PATH_LIST) environment = Environment(loader=loader, autoescape=True) file_path_list = ROOT_DIR.glob("**/*.html") template_file_list = [os.fspath(p.relative_to(ROOT_DIR)) for p in file_path_list] for template_file in template_file_list: template = environment.get_template(template_file) rendered_template = template.render() path = os.path.join(ROOT_DIR, template_file) with open(path, mode="w") as f: f.write(rendered_template)