From 3ccb0c43ae523b9a678ec3d6c4fa2cdce447f738 Mon Sep 17 00:00:00 2001 From: Ooker Date: Fri, 21 Jun 2024 17:57:36 +0700 Subject: [PATCH] fix: fix aliases that can't be a Windows file name See https://github.com/jackyzha0/quartz/issues/708 --- quartz/plugins/emitters/aliases.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/quartz/plugins/emitters/aliases.ts b/quartz/plugins/emitters/aliases.ts index af3578ebe..ddb11bcc1 100644 --- a/quartz/plugins/emitters/aliases.ts +++ b/quartz/plugins/emitters/aliases.ts @@ -16,7 +16,11 @@ export const AliasRedirects: QuartzEmitterPlugin = () => ({ for (const [_tree, file] of content) { const dir = path.posix.relative(argv.directory, path.dirname(file.data.filePath!)) const aliases = file.data.frontmatter?.aliases ?? [] - const slugs = aliases.map((alias) => path.posix.join(dir, alias) as FullSlug) + const slugs: FullSlug[] = aliases.map((alias) => { + console.log(alias) + const aliasWithNoInvalidFileSystemCharacters = alias.replace(/[\<\>\?\|\:]/g, '-'); + return path.posix.join(dir, aliasWithNoInvalidFileSystemCharacters) as FullSlug + }); const permalink = file.data.frontmatter?.permalink if (typeof permalink === "string") { slugs.push(permalink as FullSlug)