vf-site/lib/engine.py
Ruidy a5136d102b use consistent naming convention for config keys
set default in main instead of inside the renderer

fix: renderer template folder setup
2023-06-13 14:35:05 +02:00

16 lines
526 B
Python

from typing import Protocol
from jinja2 import Environment, FileSystemLoader, select_autoescape
class Renderer(Protocol):
def render(self, template: str, context: dict | None = None) -> str:
...
class FileSystemRenderer(Renderer):
def __init__(self, path: str):
self.engine = Environment(loader=FileSystemLoader(path), autoescape=select_autoescape())
def render(self, template: str, context: dict | None = None) -> str:
return self.engine.get_template(template).render(context or {})