mirror of
https://github.com/Sped0n/bridget.git
synced 2026-04-14 10:09:31 -07:00
feat(analytics.html): create partial to include analytics scripts for various analytics services (Google Analytics, Fathom Analytics, Baidu Analytics, Umami Analytics, Plausible Analytics, Cloudflare Analytics, Splitbee Analytics) to track website traffic and user behavior
85 lines
2.8 KiB
HTML
85 lines
2.8 KiB
HTML
{{- $analytics := site.Params.analytics -}}
|
|
|
|
{{- if $analytics.enable -}}
|
|
{{- /* Google Analytics */ -}}
|
|
{{- with $analytics.google.id -}}
|
|
<script type="text/javascript">
|
|
window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());
|
|
gtag('config', '{{ . }}'{{ if $analytics.google.anonymizeIP }}, { 'anonymize_ip': true }{{ end }});
|
|
</script> {{- printf "https://www.googletagmanager.com/gtag/js?id=%v" . | dict "Async" true "Source" | partial "plugin/script.html" -}}
|
|
{{- end -}}
|
|
|
|
{{- /* Fathom Analytics */ -}}
|
|
{{- with $analytics.fathom.id -}}
|
|
<script type="text/javascript">
|
|
window.fathom=window.fathom||function(){(fathom.q=fathom.q||[]).push(arguments);};
|
|
fathom('set', 'siteId', '{{ . }}');
|
|
fathom('trackPageview');
|
|
</script> {{- dict "Source" ($analytics.fathom.server | default "cdn.usefathom.com" | printf "https://%v/tracker.js") "Async" true "Attr" "id=fathom-script" | partial "plugin/script.html" -}}
|
|
{{- end -}}
|
|
|
|
{{- /* Baidu Analytics */ -}}
|
|
{{- with $analytics.baidu.id -}}
|
|
<script>
|
|
var _hmt = _hmt || [];
|
|
(function() {
|
|
var hm = document.createElement("script");
|
|
hm.src = "https://hm.baidu.com/hm.js?{{ . }}";
|
|
var s = document.getElementsByTagName("script")[0];
|
|
s.parentNode.insertBefore(hm, s);
|
|
})();
|
|
</script>
|
|
{{- end -}}
|
|
|
|
{{- /* Umami Analytics */ -}}
|
|
{{- with $analytics.umami.data_website_id -}}
|
|
<script
|
|
async
|
|
defer
|
|
data-website-id="{{ . }}"
|
|
src="{{ $analytics.umami.src }}"
|
|
{{ with $analytics.umami.data_host_url }}data-host-url="{{ . }}"{{ end }}
|
|
{{ with $analytics.umami.data_domains }}data-domains="{{ . }}"{{ end }}
|
|
></script>
|
|
{{- end -}}
|
|
|
|
{{- /* Plausible Analytics */ -}}
|
|
{{- with $analytics.plausible.data_domain -}}
|
|
<script
|
|
async
|
|
defer
|
|
data-domain="{{ . }}"
|
|
src="{{ $analytics.plausible.src }}"
|
|
></script>
|
|
{{- end -}}
|
|
|
|
{{- /* Cloudflare Analytics */ -}}
|
|
{{- with $analytics.cloudflare.token -}}
|
|
<script
|
|
defer
|
|
src="https://static.cloudflareinsights.com/beacon.min.js"
|
|
data-cf-beacon='{"token": "{{ $analytics.cloudflare.token }}"}'
|
|
></script>
|
|
{{- end -}}
|
|
|
|
{{- /* Splitbee Analytics */ -}}
|
|
{{- if $analytics.splitbee.enable -}}
|
|
{{- $attr := "" -}}
|
|
{{- if $analytics.splitbee.Do_not_track -}}
|
|
{{- $attr = printf `%v data-respect-dnt` $attr -}}
|
|
{{- end -}}
|
|
{{- if $analytics.splitbee.No_cookie -}}
|
|
{{- $attr = printf `%v data-no-cookie` $attr -}}
|
|
{{- end -}}
|
|
{{- with $analytics.splitbee.data_token -}}
|
|
{{- $attr = printf `%v data-token="%v"` $attr . -}}
|
|
{{- end -}}
|
|
<script
|
|
defer
|
|
{{ with $attr }}{{ . | safeHTMLAttr }}{{ end }}
|
|
src="https://cdn.splitbee.io/sb.js"
|
|
></script>
|
|
{{- end -}}
|
|
|
|
{{- end -}}
|