lemoncurry/lemoncurry/jinja2/__init__.py

40 lines
1.1 KiB
Python

from django.contrib.staticfiles.storage import staticfiles_storage
from django.conf import settings
from django.urls import reverse
from jinja2 import Environment
from compressor.contrib.jinja2ext import CompressorExtension
from django_activeurl.ext.django_jinja import ActiveUrl
from entries.kinds import all as entry_kinds
from wellknowns.favicons import icons as favicons
from .ago import ago
from .markdown import markdown
from ..theme import color as theme_color
from ..utils import friendly_url, load_package_json
def environment(**options):
env = Environment(
extensions=[ActiveUrl, CompressorExtension],
trim_blocks=True,
lstrip_blocks=True,
**options
)
env.filters.update({
'ago': ago,
'friendly_url': friendly_url,
'markdown': markdown,
})
env.globals.update({
'entry_kinds': entry_kinds,
'favicons': favicons,
'package': load_package_json(),
'settings': settings,
'static': staticfiles_storage.url,
'theme_color': theme_color,
'url': reverse,
})
return env