Added umami analitycs support (#938)
* feat: added umami analityc support * chore: added support to on-premise deployment of umami service * chore: renamed 'proto' to 'scheme' on umami integration
This commit is contained in:
parent
a959cb174d
commit
f3dacf112c
3 changed files with 57 additions and 45 deletions
|
@ -38,6 +38,7 @@ A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist desi
|
|||
- counter.dev
|
||||
- Google Analytics
|
||||
- Matomo/Piwik
|
||||
- [Umami](https://umami.is/)
|
||||
- Comment Support
|
||||
- [Disqus](https://disqus.com/)
|
||||
- [Valine](https://valine.js.org/)
|
||||
|
|
|
@ -174,6 +174,11 @@ params:
|
|||
# matomo:
|
||||
# instance: matomo.example.com
|
||||
# siteId: 1 # Or any other number
|
||||
# # Umami
|
||||
# umami:
|
||||
# scheme: https
|
||||
# instance: umami.example.com
|
||||
# id: <your umami site id>
|
||||
|
||||
# Enable Support
|
||||
support:
|
||||
|
|
|
@ -2,55 +2,61 @@
|
|||
{{ with site.Params.features.analytics }}
|
||||
{{ if or .enable .enabled }}
|
||||
{{ with .services }}
|
||||
<!-- Google Analytics -->
|
||||
{{ with .google }}
|
||||
{{ $privacyConfig:= dict (slice "Site" "Config" "Privacy" "GoogleAnalytics") $.Site.Config.Privacy.GoogleAnalytics }}
|
||||
{{ $analyticsConfig := dict (slice "Site" "Config" "Services" "GoogleAnalytics" "ID") .id }}
|
||||
{{ template "_internal/google_analytics.html" (merge $privacyConfig $analyticsConfig) }}
|
||||
{{ end }}
|
||||
<!-- Google Analytics -->
|
||||
{{ with .google }}
|
||||
{{ $privacyConfig:= dict (slice "Site" "Config" "Privacy" "GoogleAnalytics") $.Site.Config.Privacy.GoogleAnalytics }}
|
||||
{{ $analyticsConfig := dict (slice "Site" "Config" "Services" "GoogleAnalytics" "ID") .id }}
|
||||
{{ template "_internal/google_analytics.html" (merge $privacyConfig $analyticsConfig) }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Counter.dev -->
|
||||
{{ with .counterDev }}
|
||||
<script src="https://cdn.counter.dev/script.js"
|
||||
data-id="{{ .id }}"
|
||||
data-utcoffset="1"
|
||||
></script>
|
||||
{{ end }}
|
||||
<!-- Counter.dev -->
|
||||
{{ with .counterDev }}
|
||||
<script src="https://cdn.counter.dev/script.js"
|
||||
data-id="{{ .id }}"
|
||||
data-utcoffset="1"
|
||||
></script>
|
||||
{{ end }}
|
||||
|
||||
<!-- GoatCounter -->
|
||||
{{ with .goatCounter }}
|
||||
{{ with .code }}
|
||||
<script data-goatcounter="https://{{ . }}.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
|
||||
{{ else }}
|
||||
<script data-goatcounter="https://{{ .instance }}/count" async src="https://{{ .instance }}/count.js"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<!-- GoatCounter -->
|
||||
{{ with .goatCounter }}
|
||||
{{ with .code }}
|
||||
<script data-goatcounter="https://{{ . }}.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
|
||||
{{ else }}
|
||||
<script data-goatcounter="https://{{ .instance }}/count" async src="https://{{ .instance }}/count.js"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Piwik/Matomo -->
|
||||
{{ with .matomo }}
|
||||
<!-- Matomo -->
|
||||
<script>
|
||||
var _paq = window._paq = window._paq || [];
|
||||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u="//{{ .instance }}/";
|
||||
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||
_paq.push(['setSiteId', '{{ .siteId }}']);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
{{ end }}
|
||||
<!-- Piwik/Matomo -->
|
||||
{{ with .matomo }}
|
||||
<!-- Matomo -->
|
||||
<script>
|
||||
var _paq = window._paq = window._paq || [];
|
||||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u="//{{ .instance }}/";
|
||||
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||
_paq.push(['setSiteId', '{{ .siteId }}']);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
{{ end }}
|
||||
|
||||
{{ with .cloudflare }}
|
||||
<!-- Cloudflare Web Analytics -->
|
||||
<script defer src='https://static.cloudflareinsights.com/beacon.min.js'
|
||||
data-cf-beacon='{"token": "{{ .token }}"}'
|
||||
></script>
|
||||
<!-- End Cloudflare Web Analytics -->
|
||||
{{ end }}
|
||||
{{ with .cloudflare }}
|
||||
<!-- Cloudflare Web Analytics -->
|
||||
<script defer src='https://static.cloudflareinsights.com/beacon.min.js'
|
||||
data-cf-beacon='{"token": "{{ .token }}"}'
|
||||
></script>
|
||||
<!-- End Cloudflare Web Analytics -->
|
||||
{{ end }}
|
||||
|
||||
{{ with .umami }}
|
||||
<!-- Umami analytics -->
|
||||
<script defer src='{{ or .scheme "https" }}://{{ or .instance "analytics.eu.umami.is" }}/script.js' data-website-id="{{ .id }}"></script>
|
||||
<!-- End Umami analytics -->
|
||||
{{end}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue