-
-
Notifications
You must be signed in to change notification settings - Fork 186
Expand file tree
/
Copy pathprocess-templates
More file actions
executable file
·26 lines (20 loc) · 779 Bytes
/
process-templates
File metadata and controls
executable file
·26 lines (20 loc) · 779 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/env python3
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)