From 51b43a2115a6b38bbaad67b203c2158a387b5588 Mon Sep 17 00:00:00 2001
From: Keisuke ANDO <g.kei0429@gmail.com>
Date: Tue, 27 May 2025 19:26:17 +0000
Subject: [PATCH] feat(links): added ofm option to style unresolved or broken links differently (#1992)
---
quartz/plugins/transformers/ofm.ts | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/quartz/plugins/transformers/ofm.ts b/quartz/plugins/transformers/ofm.ts
index ef59179..42428ae 100644
--- a/quartz/plugins/transformers/ofm.ts
+++ b/quartz/plugins/transformers/ofm.ts
@@ -41,6 +41,7 @@
enableYouTubeEmbed: boolean
enableVideoEmbed: boolean
enableCheckbox: boolean
+ disableBrokenWikilinks: boolean
}
const defaultOptions: Options = {
@@ -56,6 +57,7 @@
enableYouTubeEmbed: true,
enableVideoEmbed: true,
enableCheckbox: false,
+ disableBrokenWikilinks: false,
}
const calloutMapping = {
@@ -206,7 +208,7 @@
return src
},
- markdownPlugins(_ctx) {
+ markdownPlugins(ctx) {
const plugins: PluggableList = []
// regex replacements
@@ -275,6 +277,18 @@
// otherwise, fall through to regular link
}
+ // treat as broken link if slug not in ctx.allSlugs
+ if (opts.disableBrokenWikilinks) {
+ const slug = slugifyFilePath(fp as FilePath)
+ const exists = ctx.allSlugs && ctx.allSlugs.includes(slug)
+ if (!exists) {
+ return {
+ type: "html",
+ value: `<a class=\"internal broken\">${alias ?? fp}</a>`,
+ }
+ }
+ }
+
// internal link
const url = fp + anchor
--
Gitblit v1.10.0