hakurei.app/process-templates
sandbank52641 968167ad52 simplify process templates script
Python provides a high-level path object with `pathlib`[^1], which is
included in the standard library[^2]. This makes it simpler to find all
html files to process.

[^1]: https://docs.python.org/3/library/pathlib.html#module-pathlib
[^2]: https://peps.python.org/pep-0428/
2024-01-07 15:18:18 -05:00

23 lines
697 B
Python
Executable File

#!/usr/bin/env python3
from jinja2 import FileSystemLoader, Environment
from pathlib import Path
import os
import sys
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)