diff options
| -rwxr-xr-x | Biz.nix | 8 | ||||
| -rw-r--r-- | Biz/PodcastItLater/UI.py | 10 |
2 files changed, 18 insertions, 0 deletions
@@ -36,4 +36,12 @@ bild.os { package = packages.biz-deployer; manifestPackage = packages.deploy-manifest; }; + + # GoatCounter analytics - SQLite backend + services.goatcounter = { + enable = true; + address = "127.0.0.1"; + port = 8081; + proxy = true; # Running behind Caddy reverse proxy + }; } diff --git a/Biz/PodcastItLater/UI.py b/Biz/PodcastItLater/UI.py index d4b60a9..87b087e 100644 --- a/Biz/PodcastItLater/UI.py +++ b/Biz/PodcastItLater/UI.py @@ -128,6 +128,15 @@ def create_bootstrap_js() -> html.script: ) +def create_goatcounter_script() -> html.script: + """Load GoatCounter analytics script.""" + return html.script( # type: ignore[call-arg] + data_goatcounter="https://podcastitlater.goatcounter.com/count", + async_=True, + src="//gc.zgo.at/count.js", + ) + + class PageLayoutAttrs(Attrs): """Attributes for PageLayout component.""" @@ -310,6 +319,7 @@ class PageLayout(Component[AnyChildren, PageLayoutAttrs]): html.title(page_title), *meta_tags, create_htmx_script(), + create_goatcounter_script(), ), html.body( create_bootstrap_styles(), |
