Source code for betty.project.extension.webpack.jinja2.filter
"""
Provide Jinja2 filters to integrate with Webpack.
"""
from __future__ import annotations
from typing import TYPE_CHECKING
from jinja2 import pass_context
from betty.jinja2.filter import filter_public_js
from betty.project.extension.webpack.jinja2 import _context_js_entry_points
if TYPE_CHECKING:
from betty.jinja2 import Filters
from jinja2.runtime import Context
[docs]
@pass_context
async def filter_webpack_entry_point_js(
context: Context, entry_point_name: str
) -> None:
"""
Add a Webpack entry point's JavaScript files to the current page.
"""
await filter_public_js(context, "betty-static:///js/webpack-entry-loader.js")
_context_js_entry_points(context).add(entry_point_name)
FILTERS: Filters = {
"webpack_entry_point_js": filter_webpack_entry_point_js,
}