httk.serve.web.templating.jinja2_engine

Render pages and fragments with Jinja templates.

Attributes

Classes

JinjaTemplateEngine

Resolve and render Jinja templates from a site directory.

Module Contents

httk.serve.web.templating.jinja2_engine.TEMPLATE_SUFFIXES: tuple[str, Ellipsis] = ('.html.j2', '.jinja', '.j2', '.html', '.httkweb.html')[source]
class httk.serve.web.templating.jinja2_engine.JinjaTemplateEngine(template_dir, *, template_suffixes=TEMPLATE_SUFFIXES)[source]

Resolve and render Jinja templates from a site directory.

Parameters:
  • template_dir (pathlib.Path) – Directory containing site templates.

  • template_suffixes (tuple[str, Ellipsis]) – Suffixes probed for bare template names.

template_dir[source]
template_suffixes = ('.html.j2', '.jinja', '.j2', '.html', '.httkweb.html')[source]
render(render_input)[source]

Render page content through optional content and base templates.

Parameters:

render_input (httk.serve.web.templating.base.TemplateRenderInput) – Content, template names, and template context.

Returns:

Rendered HTML.

Return type:

str

render_fragment(*, template_name, context)[source]

Render an optional named fragment template.

Parameters:
  • template_name (str) – Fragment template name.

  • context (dict[str, object]) – Values exposed to the fragment.

Returns:

Rendered fragment, or None when no template exists.

Return type:

str | None