Plain is headed towards 1.0! Subscribe for development updates →

 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        }