Module

rendering.template_functions.urls

URL manipulation functions for templates.

Provides 4 functions for working with URLs in templates.

Functions

register
Register URL functions with Jinja2 environment.
2 None
def register(env: Environment, site: Site) -> None

Register URL functions with Jinja2 environment.

Parameters 2

Name Type Default Description
env Environment
site Site
absolute_url
Convert relative URL to absolute URL. Uses centralized URL normalization to ensure consistency. De…
2 str
def absolute_url(url: str, base_url: str) -> str

Convert relative URL to absolute URL.

Uses centralized URL normalization to ensure consistency. Detects file URLs (with extensions) and does not add trailing slashes to them.

Parameters 2

Name Type Default Description
url str

Relative or absolute URL

base_url str

Base URL to prepend

Returns

str

Absolute URL

url_encode
URL encode string (percent encoding). Encodes special characters for safe use in URLs.
1 str
def url_encode(text: str) -> str

URL encode string (percent encoding).

Encodes special characters for safe use in URLs.

Parameters 1

Name Type Default Description
text str

Text to encode

Returns

str

URL-encoded text

url_decode
URL decode string (decode percent encoding). Decodes percent-encoded characters back to original form.
1 str
def url_decode(text: str) -> str

URL decode string (decode percent encoding).

Decodes percent-encoded characters back to original form.

Parameters 1

Name Type Default Description
text str

Text to decode

Returns

str

URL-decoded text

ensure_trailing_slash
Ensure URL ends with a trailing slash. This is useful for constructing URLs to index files or ensu…
1 str
def ensure_trailing_slash(url: str) -> str

Ensure URL ends with a trailing slash.

This is useful for constructing URLs to index files or ensuring consistent URL formatting.

Parameters 1

Name Type Default Description
url str

URL to process

Returns

str

URL with trailing slash