From 99e8f5944fdd83110fbac4c9edc37cdcaf2c25f7 Mon Sep 17 00:00:00 2001 From: Jacky Zhao Date: Sat, 11 Nov 2023 09:56:30 -0800 Subject: [PATCH] fix: trailing slash aliases (closes #577) --- quartz/plugins/emitters/aliases.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/quartz/plugins/emitters/aliases.ts b/quartz/plugins/emitters/aliases.ts index 942412e9d..210715eb4 100644 --- a/quartz/plugins/emitters/aliases.ts +++ b/quartz/plugins/emitters/aliases.ts @@ -1,4 +1,4 @@ -import { FilePath, FullSlug, resolveRelative, simplifySlug } from "../../util/path" +import { FilePath, FullSlug, joinSegments, resolveRelative, simplifySlug } from "../../util/path" import { QuartzEmitterPlugin } from "../types" import path from "path" @@ -25,7 +25,12 @@ export const AliasRedirects: QuartzEmitterPlugin = () => ({ slugs.push(permalink as FullSlug) } - for (const slug of slugs) { + for (let slug of slugs) { + // fix any slugs that have trailing slash + if (slug.endsWith("/")) { + slug = joinSegments(slug, "index") as FullSlug + } + const redirUrl = resolveRelative(slug, file.data.slug!) const fp = await emit({ content: `