From 2525bfbab5553f970997ea3c60af180cbef1fdd2 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Thu, 07 Sep 2023 05:24:15 +0000
Subject: [PATCH] fix: links to index not showing in graph (closes #450)
---
quartz/plugins/transformers/links.ts | 1 -
quartz/build.ts | 1 +
quartz/components/scripts/graph.inline.ts | 3 ++-
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/quartz/build.ts b/quartz/build.ts
index 22288ac..5752caa 100644
--- a/quartz/build.ts
+++ b/quartz/build.ts
@@ -142,6 +142,7 @@
const parsedFiles = [...contentMap.values()]
const filteredContent = filterContent(ctx, parsedFiles)
+
// TODO: we can probably traverse the link graph to figure out what's safe to delete here
// instead of just deleting everything
await rimraf(argv.output)
diff --git a/quartz/components/scripts/graph.inline.ts b/quartz/components/scripts/graph.inline.ts
index d72b297..dc5c99d 100644
--- a/quartz/components/scripts/graph.inline.ts
+++ b/quartz/components/scripts/graph.inline.ts
@@ -47,11 +47,12 @@
const data = await fetchData
const links: LinkData[] = []
+ const validLinks = new Set(Object.keys(data).map((slug) => simplifySlug(slug as FullSlug)))
for (const [src, details] of Object.entries<ContentDetails>(data)) {
const source = simplifySlug(src as FullSlug)
const outgoing = details.links ?? []
for (const dest of outgoing) {
- if (dest in data) {
+ if (validLinks.has(dest)) {
links.push({ source, target: dest })
}
}
diff --git a/quartz/plugins/transformers/links.ts b/quartz/plugins/transformers/links.ts
index 475a5e9..02ced15 100644
--- a/quartz/plugins/transformers/links.ts
+++ b/quartz/plugins/transformers/links.ts
@@ -5,7 +5,6 @@
SimpleSlug,
TransformOptions,
_stripSlashes,
- joinSegments,
simplifySlug,
splitAnchor,
transformLink,
--
Gitblit v1.10.0