Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Umami Analytics #832

Merged
merged 3 commits into from
Apr 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions config/_default/params.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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 = ""
Expand Down
4 changes: 4 additions & 0 deletions exampleSite/config/_default/params.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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 = ""
Expand Down
2 changes: 2 additions & 0 deletions exampleSite/content/docs/configuration/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.|
Expand Down
12 changes: 12 additions & 0 deletions exampleSite/content/docs/partials/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
12 changes: 11 additions & 1 deletion layouts/partials/analytics.html
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Loading