From c8e6aa6d91529258c22a388724c4db366b979282 Mon Sep 17 00:00:00 2001
From: Easton Man <me@eastonman.com>
Date: Sun, 19 Mar 2023 14:27:53 +0000
Subject: [PATCH] feat(analytics): Add umami analytics (#787)

---
 layouts/_default/baseof.html          |   18 ++++++++++++------
 docs/analytics.md                     |    1 +
 docs/analytics/umami.md               |    7 +++++++
 layouts/partials/analytics/umami.html |    4 ++++
 CONTRIBUTORS.md                       |    1 +
 5 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 9a79754..a631bcb 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -127,3 +127,4 @@
 - [MichaƂ Pawlik](https://michalp.net)
 - [Kilian Kluge](https://github.com/ionicsolutions)
 - [Jaroslaw Rozanski](https://jarekrozanski.eu)
+- [Easton Man](https://github.com/eastonman)
diff --git a/docs/analytics.md b/docs/analytics.md
index a951402..3b3e5f9 100644
--- a/docs/analytics.md
+++ b/docs/analytics.md
@@ -13,4 +13,5 @@
 * [Matomo](https://matomo.org/) - [documentation](/docs/analytics/matomo.md)
 * [Micro Analytics](https://microanalytics.io/) - [documentation](/docs/analytics/microanalytics.md)
 * [Plausible Analytics](https://plausible.io/) - [documentation](/docs/analytics/plausible.md)
+* [Umami](https://umami.is/) - [documentation](/docs/analytics/umami.md)
 * [Wide Angle Analytics](https://wideangle.co/) - [documentation](/docs/analytics/wideangle.md)
\ No newline at end of file
diff --git a/docs/analytics/umami.md b/docs/analytics/umami.md
new file mode 100644
index 0000000..9cf38c2
--- /dev/null
+++ b/docs/analytics/umami.md
@@ -0,0 +1,7 @@
+# Umami
+
+```toml
+[params.umami]
+    siteID = "ABCDE"
+    serverURL = "analytics.example.com"
+```
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 1b5e61b..bc93aa0 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -1,9 +1,10 @@
 <!DOCTYPE html>
 <html lang="{{ .Site.Language.Lang }}">
-  <head>
-    <title>{{ block "title" . }}{{ .Site.Title }}{{ end }}</title>
-    {{ partial "head.html" . }}
-  </head>
+
+<head>
+  <title>{{ block "title" . }}{{ .Site.Title }}{{ end }}</title>
+  {{ partial "head.html" . }}
+</head>
 
 {{ $csClass := "colorscheme-light" }}
 {{ if eq .Site.Params.colorScheme "dark" }}
@@ -25,7 +26,8 @@
   </main>
 
   {{ if .HasShortcode "mermaid" }}
-  <script src="https://cdn.jsdelivr.net/npm/mermaid@9.3.0/dist/mermaid.min.js" integrity="sha256-QdTG1YTLLTwD3b95jLqFxpQX9uYuJMNAtVZgwKX4oYU=" crossorigin="anonymous"></script>
+  <script src="https://cdn.jsdelivr.net/npm/mermaid@9.3.0/dist/mermaid.min.js"
+    integrity="sha256-QdTG1YTLLTwD3b95jLqFxpQX9uYuJMNAtVZgwKX4oYU=" crossorigin="anonymous"></script>
   <script>
     mermaid.initialize({ startOnLoad: true });
   </script>
@@ -102,7 +104,11 @@
   {{- partial "analytics/yandex-metrika" . -}}
   {{ end }}
 
+  {{ if and .Site.Params.umami .Site.Params.umami.siteID }}
+  {{- partial "analytics/umami" . -}}
+  {{ end }}
+
   {{- partial "body/extensions" . -}}
 </body>
 
-</html>
+</html>
\ No newline at end of file
diff --git a/layouts/partials/analytics/umami.html b/layouts/partials/analytics/umami.html
new file mode 100644
index 0000000..05f7445
--- /dev/null
+++ b/layouts/partials/analytics/umami.html
@@ -0,0 +1,4 @@
+<!-- Umami Analytics START -->
+<script async defer data-website-id="{{ .Site.Params.umami.websiteId }}"
+    src="{{ .Site.Params.umami.serverURL }}/umami.js"></script>
+<!-- Umami Analytics END -->
\ No newline at end of file

--
Gitblit v1.10.0