44 lines
1.2 KiB
Python
44 lines
1.2 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
|