From 965c1cb752ad4deed04861e5e950a2b37f519adf Mon Sep 17 00:00:00 2001
From: Jarek Rozanski <jrozanski@inputobjects.eu>
Date: Tue, 07 Feb 2023 23:25:32 +0000
Subject: [PATCH] Wide Angle Analytics Support (#1) (#773)

---
 layouts/partials/analytics/wideangle.html |    5 +
 layouts/_default/baseof.html              |    4 +
 docs/analytics/microanalytics.md          |    7 +
 docs/configurations.md                    |   87 ---------------------
 docs/analytics/fathom.md                  |    7 +
 docs/analytics/plausible.md               |    7 +
 docs/analytics/goatcounter.md             |    6 +
 docs/analytics.md                         |   17 ++++
 docs/analytics/googleanalytics.md         |    3 
 docs/analytics/applicationinsights.md     |    6 +
 docs/analytics/cloudflare.md              |    6 +
 docs/analytics/googletagmanager.md        |    6 +
 docs/analytics/wideangle.md               |   25 ++++++
 CONTRIBUTORS.md                           |    1 
 docs/analytics/matomo.md                  |    7 +
 15 files changed, 109 insertions(+), 85 deletions(-)

diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 4ee7178..addbcf0 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -125,3 +125,4 @@
 - [Martin Hellspong](https://github.com/marhel)
 - [Robert Tucker](https://github.com/robertwtucker)
 - [MichaƂ Pawlik](https://michalp.net)
+- [Jaroslaw Rozanski](https://jarekrozanski.eu)
diff --git a/docs/analytics.md b/docs/analytics.md
index 00d7bdd..a951402 100644
--- a/docs/analytics.md
+++ b/docs/analytics.md
@@ -1 +1,16 @@
-WIP
+# Enable Web Analytics
+
+## Supported Providers
+
+*in alphabetic order*
+
+* [Application Insights](https://azure.com/) - [documentation](/docs/analytics/applicationinsights.md)
+* [Cloudflare](https://www.cloudflare.com/analytics/) - [documentation](/docs/analytics/cloudflare.md)
+* [Google Analytics](https://developers.google.com/analytics) - [documentation](/docs/analytics/googleanalytics.md)
+* [Google Tag Manager](https://developers.google.com/tag-manager) - [documentation](/docs/analytics/googletagmanager.md)
+* [Fathom Analytics](https://usefathom.com/) - [documentation](/docs/analytics/fathom.md)
+* [Goat Counter](https://www.goatcounter.com/) - [documentation](/docs/analytics/goatcounter.md)
+* [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)
+* [Wide Angle Analytics](https://wideangle.co/) - [documentation](/docs/analytics/wideangle.md)
\ No newline at end of file
diff --git a/docs/analytics/applicationinsights.md b/docs/analytics/applicationinsights.md
new file mode 100644
index 0000000..859feaa
--- /dev/null
+++ b/docs/analytics/applicationinsights.md
@@ -0,0 +1,6 @@
+# Application Insights
+
+```toml
+[params.applicationInsights]
+    connectionString = "connectionstring" # https://docs.microsoft.com/en-us/azure/azure-monitor/app/sdk-connection-string
+```
diff --git a/docs/analytics/cloudflare.md b/docs/analytics/cloudflare.md
new file mode 100644
index 0000000..84f1171
--- /dev/null
+++ b/docs/analytics/cloudflare.md
@@ -0,0 +1,6 @@
+# Cloudflare
+
+```toml
+[params.cloudflare]
+    token = "token"
+```
diff --git a/docs/analytics/fathom.md b/docs/analytics/fathom.md
new file mode 100644
index 0000000..d2a8c19
--- /dev/null
+++ b/docs/analytics/fathom.md
@@ -0,0 +1,7 @@
+# Fathom Analytics
+
+```toml
+[params.fathomAnalytics]
+  siteID = "ABCDE"
+  serverURL = "cdn.usefathom.com" # (optionnal) Replace if you use a custom domain
+```
\ No newline at end of file
diff --git a/docs/analytics/goatcounter.md b/docs/analytics/goatcounter.md
new file mode 100644
index 0000000..b217b5a
--- /dev/null
+++ b/docs/analytics/goatcounter.md
@@ -0,0 +1,6 @@
+# Goat Counter
+
+```toml
+[params.goatCounter]
+  code = "code" # You will access your account at https://[code].goatcounter.com
+```
diff --git a/docs/analytics/googleanalytics.md b/docs/analytics/googleanalytics.md
new file mode 100644
index 0000000..ae6c838
--- /dev/null
+++ b/docs/analytics/googleanalytics.md
@@ -0,0 +1,3 @@
+# Google Analytics
+
+Follow [these steps](https://gohugo.io/templates/internal/#configure-google-analytics).
\ No newline at end of file
diff --git a/docs/analytics/googletagmanager.md b/docs/analytics/googletagmanager.md
new file mode 100644
index 0000000..94664e1
--- /dev/null
+++ b/docs/analytics/googletagmanager.md
@@ -0,0 +1,6 @@
+# Google Tag Manager
+
+```toml
+[params.googleTagManager]
+    id = "gid"
+```
diff --git a/docs/analytics/matomo.md b/docs/analytics/matomo.md
new file mode 100644
index 0000000..f751330
--- /dev/null
+++ b/docs/analytics/matomo.md
@@ -0,0 +1,7 @@
+# Matomo
+
+```toml
+[params.matomo]
+    siteID = "ABCDE"
+    serverURL = "analytics.example.com"
+```
diff --git a/docs/analytics/microanalytics.md b/docs/analytics/microanalytics.md
new file mode 100644
index 0000000..d1be070
--- /dev/null
+++ b/docs/analytics/microanalytics.md
@@ -0,0 +1,7 @@
+# microanalytics.io
+
+```toml
+[params.microAnalytics]
+    id = "ABCDE"
+    dnt = "false" # respect DNT tracker, "true" by default
+```
diff --git a/docs/analytics/plausible.md b/docs/analytics/plausible.md
new file mode 100644
index 0000000..3952da9
--- /dev/null
+++ b/docs/analytics/plausible.md
@@ -0,0 +1,7 @@
+# Plausible Analytics
+
+```toml
+[params.plausibleAnalytics]
+  domain = "example.com"
+  serverURL = "plausible.io" # (optionnal) Replace if you use a custom domain
+```
diff --git a/docs/analytics/wideangle.md b/docs/analytics/wideangle.md
new file mode 100644
index 0000000..e4963c3
--- /dev/null
+++ b/docs/analytics/wideangle.md
@@ -0,0 +1,25 @@
+# Wide Angle Analytics
+
+Wide Angle Analytics is strictly **GDPR** compliant, privacy-first web analytics. Head to [wideangle.co](https://wideangle.co/) and create you free trial account now. 
+
+## Configuration
+
+Built in template supports following configuration options:
+
+param | description | required | dafault 
+------|-------------|----------|--------
+siteID| A site ID from [Wide Angle site](https://wideangle.co/documentation/web-analytics-for-your-website)| :white_check_mark: | n/a
+serverURL | [Domain](https://wideangle.co/documentation/track-with-custom-domain) with which the WAA is configured with | :x: | stats.wideangle.co 
+fingerprint | Enable advanced session fingerprint; requires user consent | :x: | false
+supressDNT | Ignore Do-Not-Track setting in the browser | :x: | false
+
+
+## Example
+
+```toml
+[params.wideAngleAnalytics]
+  siteID = "1D4EG3B9ACA03F4243"
+  serverURL = "fyi.wideangle.co"
+  fingerprint = "false"
+  supressDNT = "false"
+```
diff --git a/docs/configurations.md b/docs/configurations.md
index c3ca851..0eaf24a 100644
--- a/docs/configurations.md
+++ b/docs/configurations.md
@@ -1,15 +1,7 @@
 # Configurations
 
 * [About Hugo Configurations](#about-hugo-configurations)
-  * [Analytics](#analytics)
-    * [Google Analytics](#google-analytics)
-    * [Google Tag Manager](#google-tag-manager)
-    * [Fathom Analytics](#fathom-analytics)
-    * [Plausible Analytics](#plausible-analytics)
-    * [Goat Counter](#goat-counter)
-    * [Cloudflare](#cloudflare)
-    * [Matomo](#matomo)
-    * [Application Insights](#application-insights)
+  * [Analytics](/docs/analytics.md)
   * [Commenting Systems](#commenting-systems)
     * [Disqus](#disqus)
     * [Commento](#commento)
@@ -27,87 +19,14 @@
 
 This theme supports:
 
-* Analytics
-  * [Google Analytics](https://developers.google.com/analytics)
-  * [Google Tag Manager](https://developers.google.com/tag-manager)
-  * [Fathom Analytics](https://usefathom.com/)
-  * [Plausible Analytics](https://plausible.io/)
-  * [Goat Counter](https://www.goatcounter.com/)
-  * [Cloudflare](https://www.cloudflare.com/analytics/)
-  * [Matomo](https://matomo.org/)
-  * [Application Insights](https://azure.com/)
+* [Analytics](/docs/analytics.md)
+
 * Commenting Systems
   * [Disqus](https://disqus.com/)
   * [Commento](https://commento.io/)
   * [Utterances](https://utteranc.es/)
   * [Giscus](https://giscus.app/)
 
-### Analytics
-
-#### Google Analytics
-
-Follow [these steps](https://gohugo.io/templates/internal/#configure-google-analytics).
-
-#### Google Tag Manager
-
-```toml
-[params.googleTagManager]
-    id = "gid"
-```
-
-#### Fathom Analytics
-
-```toml
-[params.fathomAnalytics]
-  siteID = "ABCDE"
-  serverURL = "cdn.usefathom.com" # (optionnal) Replace if you use a custom domain
-```
-
-#### Plausible Analytics
-
-```toml
-[params.plausibleAnalytics]
-  domain = "example.com"
-  serverURL = "plausible.io" # (optionnal) Replace if you use a custom domain
-```
-
-#### Goat Counter
-
-```toml
-[params.goatCounter]
-  code = "code" # You will access your account at https://[code].goatcounter.com
-```
-
-#### Cloudflare
-
-```toml
-[params.cloudflare]
-    token = "token"
-```
-
-#### Matomo
-
-```toml
-[params.matomo]
-    siteID = "ABCDE"
-    serverURL = "analytics.example.com"
-```
-
-#### Application Insights
-
-```toml
-[params.applicationInsights]
-    connectionString = "connectionstring" # https://docs.microsoft.com/en-us/azure/azure-monitor/app/sdk-connection-string
-```
-
-#### microanalytics.io
-
-```toml
-[params.microAnalytics]
-    id = "ABCDE"
-    dnt = "false" # respect DNT tracker, "true" by default
-```
-
 ### Commenting Systems
 
 Comments are displayed within post pages, but can be disabled with `disableComments` front-matter.
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index a8b44c6..1b5e61b 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -78,6 +78,10 @@
   {{- partial "analytics/cloudflare" . -}}
   {{ end }}
 
+  {{ if and .Site.Params.wideAngleAnalytics .Site.Params.wideAngleAnalytics.siteID }}
+  {{- partial "analytics/wideangle" . -}}
+  {{ end }}
+
   {{ if and .Site.Params.matomo .Site.Params.matomo.serverURL }}
   {{- partial "analytics/matomo" . -}}
   {{ end }}
diff --git a/layouts/partials/analytics/wideangle.html b/layouts/partials/analytics/wideangle.html
new file mode 100644
index 0000000..3ec5b70
--- /dev/null
+++ b/layouts/partials/analytics/wideangle.html
@@ -0,0 +1,5 @@
+<script async defer
+  src='https://{{ .Site.Params.wideAngleAnalytics.serverURL | default "stats.wideangle.co" }}/script/{{ .Site.Params.wideAngleAnalytics.siteID}}.js'
+  data-waa-fingerprint='{{ .Site.Params.wideAngleAnalytics.fingerprint | default "false" }}'
+  data-waa-dnt-supress='{{ .Site.Params.wideAngleAnalytics.supressDNT | default "false" }}'>
+</script>

--
Gitblit v1.10.0