1from __future__ import annotations
2
3from typing import Any
4
5from plain.templates import register_template_extension
6from plain.templates.jinja.extensions import InclusionTagExtension
7from plain.urls import reverse
8
9
10@register_template_extension
11class PageviewsJSExtension(InclusionTagExtension):
12 tags = {"pageviews_js"}
13 template_name = "pageviews/js.html"
14
15 def get_context(
16 self, context: dict[str, Any], *args: Any, **kwargs: Any
17 ) -> dict[str, Any]:
18 return {
19 "pageviews_track_url": reverse("pageviews:track"),
20 "request": context.get("request"),
21 }