25 lines
755 B
Python
25 lines
755 B
Python
from jinja2 import FileSystemLoader, Environment
|
|
from pathlib import Path
|
|
import os
|
|
import sys
|
|
|
|
if len(sys.argv) != 2:
|
|
print(f"Usage: {sys.argv[0]} <path>")
|
|
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)
|