From 974b0da3086d21aabf5ef1a3eefa50675c0d4e95 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Wed, 05 Jul 2023 01:02:59 +0000
Subject: [PATCH] folder and tag descriptions, re-enable relative pathing

---
 quartz/plugins/transformers/links.ts       |    5 ++---
 quartz/plugins/transformers/description.ts |    4 +++-
 quartz/path.ts                             |    3 +--
 quartz/components/pages/TagContent.tsx     |    3 +++
 quartz/components/pages/FolderContent.tsx  |    3 +++
 5 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/quartz/components/pages/FolderContent.tsx b/quartz/components/pages/FolderContent.tsx
index b00ea94..5aa7f09 100644
--- a/quartz/components/pages/FolderContent.tsx
+++ b/quartz/components/pages/FolderContent.tsx
@@ -23,9 +23,12 @@
     allFiles: allPagesInFolder
   }
 
+  const desc = props.fileData.description
+
   // @ts-ignore
   const content = toJsxRuntime(tree, { Fragment, jsx, jsxs, elementAttributeNameCase: 'html' })
   return <div class="popover-hint">
+    {desc && <p>{desc}</p>}
     <article>{content}</article>
     <p>{allPagesInFolder.length} items under this folder.</p>
     <div>
diff --git a/quartz/components/pages/TagContent.tsx b/quartz/components/pages/TagContent.tsx
index 81e8de2..bec66e3 100644
--- a/quartz/components/pages/TagContent.tsx
+++ b/quartz/components/pages/TagContent.tsx
@@ -17,9 +17,12 @@
       allFiles: allPagesWithTag
     }
 
+    const desc = props.fileData.description
+
     // @ts-ignore
     const content = toJsxRuntime(tree, { Fragment, jsx, jsxs, elementAttributeNameCase: 'html' })
     return <div class="popover-hint">
+      {desc && <p>{desc}</p>}
       <article>{content}</article>
       <p>{allPagesWithTag.length} items with this tag.</p>
       <div>
diff --git a/quartz/path.ts b/quartz/path.ts
index a0fb223..0332584 100644
--- a/quartz/path.ts
+++ b/quartz/path.ts
@@ -60,8 +60,7 @@
 }
 
 export function relative(src: string, dest: string): string {
-  return "./" + path.relative(src, dest)
-
+  return path.relative(src, dest)
 }
 
 export const QUARTZ = "quartz"
diff --git a/quartz/plugins/transformers/description.ts b/quartz/plugins/transformers/description.ts
index cc20769..3505b19 100644
--- a/quartz/plugins/transformers/description.ts
+++ b/quartz/plugins/transformers/description.ts
@@ -31,7 +31,9 @@
             let sentenceIdx = 0
             const len = opts.descriptionLength
             while (finalDesc.length < len) {
-              finalDesc += sentences[sentenceIdx] + '.'
+              const sentence = sentences[sentenceIdx]
+              if (!sentence) break
+              finalDesc += sentence + '.'
               sentenceIdx++
             }
 
diff --git a/quartz/plugins/transformers/links.ts b/quartz/plugins/transformers/links.ts
index b8a800a..03c8d43 100644
--- a/quartz/plugins/transformers/links.ts
+++ b/quartz/plugins/transformers/links.ts
@@ -1,5 +1,5 @@
 import { QuartzTransformerPlugin } from "../types"
-import { clientSideSlug, relativeToRoot, slugify, trimPathSuffix } from "../../path"
+import { clientSideSlug, relative, relativeToRoot, slugify, trimPathSuffix } from "../../path"
 import path from "path"
 import { visit } from 'unist-util-visit'
 import isAbsoluteUrl from "is-absolute-url"
@@ -31,8 +31,7 @@
           const transformLink = (target: string) => {
             const targetSlug = slugify(decodeURI(target).trim())
             if (opts.markdownLinkResolution === 'relative' && !path.isAbsolute(targetSlug)) {
-              // TODO
-              // return './' + relative(curSlug, targetSlug)
+              return './' + relative(curSlug, targetSlug)
             } else {
               return './' + relativeToRoot(curSlug, targetSlug)
             }

--
Gitblit v1.10.0