From 951d1dec24eb8e0bea4ec548cc79c5ce718bf02f Mon Sep 17 00:00:00 2001
From: fl0werpowers <47599466+fl0werpowers@users.noreply.github.com>
Date: Wed, 28 May 2025 08:40:51 +0000
Subject: [PATCH] chore(deps): replace `chalk` and `rimraf` with builtin functions (#1879)
---
quartz/components/scripts/comments.inline.ts | 28 ++++++++++++++++++++++++++--
1 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/quartz/components/scripts/comments.inline.ts b/quartz/components/scripts/comments.inline.ts
index 4ab29f0..c54230f 100644
--- a/quartz/components/scripts/comments.inline.ts
+++ b/quartz/components/scripts/comments.inline.ts
@@ -13,7 +13,7 @@
{
giscus: {
setConfig: {
- theme: theme,
+ theme: getThemeUrl(getThemeName(theme)),
},
},
},
@@ -21,12 +21,36 @@
)
}
+const getThemeName = (theme: string) => {
+ if (theme !== "dark" && theme !== "light") {
+ return theme
+ }
+ const giscusContainer = document.querySelector(".giscus") as GiscusElement
+ if (!giscusContainer) {
+ return theme
+ }
+ const darkGiscus = giscusContainer.dataset.darkTheme ?? "dark"
+ const lightGiscus = giscusContainer.dataset.lightTheme ?? "light"
+ return theme === "dark" ? darkGiscus : lightGiscus
+}
+
+const getThemeUrl = (theme: string) => {
+ const giscusContainer = document.querySelector(".giscus") as GiscusElement
+ if (!giscusContainer) {
+ return `https://giscus.app/themes/${theme}.css`
+ }
+ return `${giscusContainer.dataset.themeUrl ?? "https://giscus.app/themes"}/${theme}.css`
+}
+
type GiscusElement = Omit<HTMLElement, "dataset"> & {
dataset: DOMStringMap & {
repo: `${string}/${string}`
repoId: string
category: string
categoryId: string
+ themeUrl: string
+ lightTheme: string
+ darkTheme: string
mapping: "url" | "title" | "og:title" | "specific" | "number" | "pathname"
strict: string
reactionsEnabled: string
@@ -57,7 +81,7 @@
const theme = document.documentElement.getAttribute("saved-theme")
if (theme) {
- giscusScript.setAttribute("data-theme", theme)
+ giscusScript.setAttribute("data-theme", getThemeUrl(getThemeName(theme)))
}
giscusContainer.appendChild(giscusScript)
--
Gitblit v1.10.0