diff --git a/content/.gitkeep b/content/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/index.md b/content/index.md new file mode 100644 index 000000000..2bdfd8337 --- /dev/null +++ b/content/index.md @@ -0,0 +1,6 @@ +--- +title: Welcome to Quartz +--- + +This is a blank Quartz installation. +See the [documentation](https://quartz.jzhao.xyz) for how to get started. diff --git a/quartz/components/scripts/graph.inline.ts b/quartz/components/scripts/graph.inline.ts index 6bf43aa84..a542c720e 100644 --- a/quartz/components/scripts/graph.inline.ts +++ b/quartz/components/scripts/graph.inline.ts @@ -190,6 +190,15 @@ async function renderGraph(container: string, fullSlug: FullSlug) { {} as Record<(typeof cssVars)[number], string>, ) + function updateTextStyle() { + const darkMode = document.documentElement.getAttribute("saved-theme") === "dark" + + for (const n of nodeRenderData) { + const nodeColor = color(n.simulationData) + n.label.style.fill = darkMode ? "white" : "black" + } + } + // calculate color const color = (d: NodeData) => { const isCurrent = d.id === slug @@ -379,7 +388,6 @@ async function renderGraph(container: string, fullSlug: FullSlug) { anchor: { x: 0.5, y: 1.2 }, style: { fontSize: fontSize * 15, - fill: computedStyleMap["--dark"], fontFamily: computedStyleMap["--bodyFont"], }, resolution: window.devicePixelRatio * 4, @@ -428,6 +436,12 @@ async function renderGraph(container: string, fullSlug: FullSlug) { nodeRenderData.push(nodeRenderDatum) } + // Call updateTextStyle immediately after creating all labels + updateTextStyle() + + document.addEventListener("themechange", updateTextStyle) + window.addCleanup(() => document.removeEventListener("themechange", updateTextStyle)) + for (const l of graphData.links) { const gfx = new Graphics({ interactive: false, eventMode: "none" }) linkContainer.addChild(gfx)