From e8a04efaf1b82560cbcf7694ac6c7dda1c82612f Mon Sep 17 00:00:00 2001
From: Adam Brangenberg <adambrangenberg@proton.me>
Date: Mon, 04 Sep 2023 04:28:57 +0000
Subject: [PATCH] feat(analytics): Support for Umami (#449)
---
quartz/plugins/emitters/componentResources.ts | 9 +++++++++
quartz/cfg.ts | 4 ++++
2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/quartz/cfg.ts b/quartz/cfg.ts
index 21e0301..8371b5e 100644
--- a/quartz/cfg.ts
+++ b/quartz/cfg.ts
@@ -12,6 +12,10 @@
provider: "google"
tagId: string
}
+ | {
+ provider: "umami"
+ websiteId: string
+ }
export interface GlobalConfiguration {
pageTitle: string
diff --git a/quartz/plugins/emitters/componentResources.ts b/quartz/plugins/emitters/componentResources.ts
index c52a3a2..96db8aa 100644
--- a/quartz/plugins/emitters/componentResources.ts
+++ b/quartz/plugins/emitters/componentResources.ts
@@ -96,6 +96,15 @@
});`)
} else if (cfg.analytics?.provider === "plausible") {
componentResources.afterDOMLoaded.push(plausibleScript)
+ } else if (cfg.analytics?.provider === "umami") {
+ componentResources.afterDOMLoaded.push(`
+ const umamiScript = document.createElement("script")
+ umamiScript.src = "https://analytics.umami.is/script.js"
+ umamiScript["data-website-id"] = "${cfg.analytics.websiteId}"
+ umamiScript.async = true
+
+ document.head.appendChild(umamiScript)
+ `)
}
if (cfg.enableSPA) {
--
Gitblit v1.10.0