From c874e7e9378a5ba895870e9680484fb4af5c6e93 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Sat, 19 Aug 2023 22:52:25 +0000
Subject: [PATCH] base path refactor to better support subpath hosting

---
 quartz/plugins/emitters/aliases.ts |   17 +++++------------
 1 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/quartz/plugins/emitters/aliases.ts b/quartz/plugins/emitters/aliases.ts
index 1fbea76..62879f7 100644
--- a/quartz/plugins/emitters/aliases.ts
+++ b/quartz/plugins/emitters/aliases.ts
@@ -1,10 +1,4 @@
-import {
-  CanonicalSlug,
-  FilePath,
-  ServerSlug,
-  canonicalizeServer,
-  resolveRelative,
-} from "../../util/path"
+import { FilePath, FullSlug, resolveRelative, simplifySlug } from "../../util/path"
 import { QuartzEmitterPlugin } from "../types"
 import path from "path"
 
@@ -17,10 +11,10 @@
     const fps: FilePath[] = []
 
     for (const [_tree, file] of content) {
-      const ogSlug = canonicalizeServer(file.data.slug!)
+      const ogSlug = simplifySlug(file.data.slug!)
       const dir = path.posix.relative(argv.directory, file.dirname ?? argv.directory)
 
-      let aliases: CanonicalSlug[] = []
+      let aliases: FullSlug[] = []
       if (file.data.frontmatter?.aliases) {
         aliases = file.data.frontmatter?.aliases
       } else if (file.data.frontmatter?.alias) {
@@ -28,9 +22,8 @@
       }
 
       for (const alias of aliases) {
-        const slug = path.posix.join(dir, alias) as ServerSlug
-
-        const redirUrl = resolveRelative(canonicalizeServer(slug), ogSlug)
+        const slug = path.posix.join(dir, alias) as FullSlug
+        const redirUrl = resolveRelative(slug, file.data.slug!)
         const fp = await emit({
           content: `
             <!DOCTYPE html>

--
Gitblit v1.10.0