From fa6c02d3213dfd4e6da8e78bd3a2e7004555fd01 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Wed, 24 Jan 2024 01:08:56 +0000
Subject: [PATCH] fix: make search result card block

---
 quartz/components/TagList.tsx |   58 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 37 insertions(+), 21 deletions(-)

diff --git a/quartz/components/TagList.tsx b/quartz/components/TagList.tsx
index 65286a5..b39b199 100644
--- a/quartz/components/TagList.tsx
+++ b/quartz/components/TagList.tsx
@@ -1,19 +1,25 @@
-import { resolveToRoot } from "../path"
+import { pathToRoot, slugTag } from "../util/path"
 import { QuartzComponentConstructor, QuartzComponentProps } from "./types"
-import { slug as slugAnchor } from 'github-slugger'
 
-function TagList({ fileData }: QuartzComponentProps) {
+function TagList({ fileData, displayClass }: QuartzComponentProps) {
   const tags = fileData.frontmatter?.tags
-  const slug = fileData.slug!
-  const baseDir = resolveToRoot(slug)
+  const baseDir = pathToRoot(fileData.slug!)
   if (tags && tags.length > 0) {
-    return <ul class="tags">{tags.map(tag => {
-      const display = `#${tag}`
-      const linkDest = baseDir + `/tags/${slugAnchor(tag)}`
-      return <li>
-        <a href={linkDest}>{display}</a>
-      </li>
-    })}</ul>
+    return (
+      <ul class={`tags ${displayClass ?? ""}`}>
+        {tags.map((tag) => {
+          const display = `#${tag}`
+          const linkDest = baseDir + `/tags/${slugTag(tag)}`
+          return (
+            <li>
+              <a href={linkDest} class="internal tag-link">
+                {display}
+              </a>
+            </li>
+          )
+        })}
+      </ul>
+    )
   } else {
     return null
   }
@@ -25,17 +31,27 @@
   display: flex;
   padding-left: 0;
   gap: 0.4rem;
+  margin: 1rem 0;
+  flex-wrap: wrap;
+  justify-self: end;
+}
 
-  & > li {
-    display: inline-block;
-    margin: 0;
+.section-li > .section > .tags {
+  justify-content: flex-end;
+}
+  
+.tags > li {
+  display: inline-block;
+  white-space: nowrap;
+  margin: 0;
+  overflow-wrap: normal;
+}
 
-    & > a {
-      border-radius: 8px;
-      border: var(--lightgray) 1px solid;
-      padding: 0.2rem 0.5rem;
-    }
-  }
+a.internal.tag-link {
+  border-radius: 8px;
+  background-color: var(--highlight);
+  padding: 0.2rem 0.4rem;
+  margin: 0 0.1rem;
 }
 `
 

--
Gitblit v1.10.0