From 4d5643f8619281e78d930b49c81a08386471edf7 Mon Sep 17 00:00:00 2001
From: Francesco Maida <francesco.maida@gmail.com>
Date: Sat, 16 Mar 2024 17:13:29 +0100
Subject: [PATCH 1/3] Added support for Umami Analytics. See #829 for further
 references.

---
 README.md                               |  2 +-
 exampleSite/config/_default/params.toml |  4 ++++
 layouts/partials/analytics.html         | 12 +++++++++++-
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 4786ae4b..d1d772a6 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ Congo is designed to be a powerful, lightweight theme for [Hugo](https://gohugo.
 - Heading anchors, Tables of Contents, Code copy, Buttons, Badges and more
 - HTML and Emoji support in articles 🎉
 - SEO friendly with links for sharing to social media
-- Fathom Analytics and Google Analytics support
+- Fathom Analytics, Plausible Analytics, Umami Analytics and Google Analytics support
 - RSS feeds, Favicons and comments support
 - Advanced customisation using simple Tailwind colour definitions and styles
 - Optimised for performance and accessibility with perfect Lighthouse scores
diff --git a/exampleSite/config/_default/params.toml b/exampleSite/config/_default/params.toml
index ad33b74a..0418c986 100644
--- a/exampleSite/config/_default/params.toml
+++ b/exampleSite/config/_default/params.toml
@@ -71,6 +71,10 @@ fingerprintAlgorithm = "sha256"
 [fathomAnalytics]
   # site = "ABC12345"
 
+#[umamiAnalytics]
+#  site = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"  
+#  region = "eu"  # Can be either "eu" or "us"
+
 [verification]
   # google = ""
   # bing = ""
diff --git a/layouts/partials/analytics.html b/layouts/partials/analytics.html
index a883f28d..10c0ed16 100644
--- a/layouts/partials/analytics.html
+++ b/layouts/partials/analytics.html
@@ -10,5 +10,15 @@
       src="{{ default "https://plausible.io/js/script.js" site.Params.plausibleAnalytics.script }}"
     ></script>
   {{ end }}
+  {{ with site.Params.umamiAnalytics }}
+    {{- $region := "eu" }}
+    {{- if isset . "region" }}
+      {{- $region = .region }}
+    {{- end }}
+    <script defer 
+      src="https://{{ $region }}.umami.is/script.js" 
+      data-website-id="{{ .site }}">
+    </script>
+  {{ end }}
   {{ template "_internal/google_analytics.html" . }}
-{{ end }}
+{{ end }}
\ No newline at end of file

From c816c5fc3d0456594210669cc5012964ca86c8f9 Mon Sep 17 00:00:00 2001
From: Francesco Maida <francesco.maida@gmail.com>
Date: Sat, 16 Mar 2024 17:28:00 +0100
Subject: [PATCH 2/3] Added support for Umami Analytics :sparkles: See #829 for
 further references.

---
 config/_default/params.toml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/config/_default/params.toml b/config/_default/params.toml
index 82c4d16e..f1d28a78 100644
--- a/config/_default/params.toml
+++ b/config/_default/params.toml
@@ -75,6 +75,10 @@ fingerprintAlgorithm = "sha256"
   # event = ""
   # script = ""
 
+#[umamiAnalytics]
+#  site = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"  
+#  region = "eu"  # can be either "eu" or "us"
+
 [verification]
   # google = ""
   # bing = ""

From 78560462ca7abf89ad50f542f793dcab33acf42e Mon Sep 17 00:00:00 2001
From: Francesco Maida <francesco.maida@gmail.com>
Date: Sun, 17 Mar 2024 21:00:55 +0100
Subject: [PATCH 3/3] Add Umami Analytics info to the documentation (in the
 english version) :memo:

---
 exampleSite/content/docs/configuration/index.md |  2 ++
 exampleSite/content/docs/partials/index.md      | 12 ++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/exampleSite/content/docs/configuration/index.md b/exampleSite/content/docs/configuration/index.md
index d3c85e89..635f9d70 100644
--- a/exampleSite/content/docs/configuration/index.md
+++ b/exampleSite/content/docs/configuration/index.md
@@ -175,6 +175,8 @@ Many of the article defaults here can be overridden on a per article basis by sp
 |`plausibleAnalytics.domain`|_Not set_|Enter the domain of the website you want to track. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details.|
 |`plausibleAnalytics.event`|_Not set_|Plausible api event proxied URL. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details.|
 |`plausibleAnalytics.script`|_Not set_|Plausible analysis script proxied URL. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details.|
+|`umamiAnalytics.site`|_Not set_|The tracking code generated by Umami Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details.|
+|`umamiAnalytics.region`|`eu`|Select the Umami Analytics server region to connect to. The value is a string that can be either `eu` or `us`.|
 |`verification.google`|_Not set_|The site verification string provided by Google to be included in the site metadata.|
 |`verification.bing`|_Not set_|The site verification string provided by Bing to be included in the site metadata.|
 |`verification.pinterest`|_Not set_|The site verification string provided by Pinterest to be included in the site metadata.|
diff --git a/exampleSite/content/docs/partials/index.md b/exampleSite/content/docs/partials/index.md
index 7f081f4a..51a5c61f 100644
--- a/exampleSite/content/docs/partials/index.md
+++ b/exampleSite/content/docs/partials/index.md
@@ -40,6 +40,18 @@ To enable Plausible analytics support, simply provide the domain of the website
   script = "https://plausible.yoursite.com/js/script.js"
 ```
 
+### Umami Analytics
+
+To enable support for Umami Analytics, insert the *tracking code token* provided by Umami into the `site` parameter to monitor the site. You can also insert a `region` parameter to indicate the region of Umami Analytics servers that you want to connect to. The values can be `eu` or `us`. Refer to [getting started section at umami.is](https://umami.is/docs/getting-started) for more details.
+
+```toml
+# config/_default/params.toml
+
+[umamiAnalytics]
+  site = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"  
+  region = "eu"  # can be either "eu" or "us"
+```
+
 ### Google Analytics
 
 Google Analytics support is provided through the internal Hugo partial. Simply provide the `googleAnalytics` key in the `config/_default/config.toml` file and the script will be added automatically.