From 917d5791acd6361c691902b445bdc4f7129ba3fc Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Sat, 17 Jun 2023 02:41:59 +0000
Subject: [PATCH] modern toc tweaks

---
 quartz/path.ts |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/quartz/path.ts b/quartz/path.ts
index 87f1a9d..4efd748 100644
--- a/quartz/path.ts
+++ b/quartz/path.ts
@@ -5,6 +5,21 @@
   return s.replace(/\s/g, '-')
 }
 
+export function trimPathSuffix(fp: string): string {
+  let [cleanPath, anchor] = fp.split("#", 2)
+  anchor = anchor === undefined ? "" : "#" + anchor
+
+  if (cleanPath.endsWith("index")) {
+    cleanPath = cleanPath.slice(0, -"index".length)
+  }
+
+  if (cleanPath === "") {
+    cleanPath = "./"
+  }
+
+  return cleanPath + anchor
+}
+
 export function slugify(s: string): string {
   const [fp, anchor] = s.split("#", 2)
   const sluggedAnchor = anchor === undefined ? "" : "#" + slugAnchor(anchor)
@@ -19,12 +34,9 @@
 
 // resolve /a/b/c to ../../
 export function resolveToRoot(slug: string): string {
-  let fp = slug
-  if (fp.endsWith("index")) {
-    fp = fp.slice(0, -"index".length)
-  }
+  let fp = trimPathSuffix(slug)
 
-  if (fp === "") {
+  if (fp === "./") {
     return "."
   }
 

--
Gitblit v1.10.0