| | |
| | | import { canonicalizeServer, pathToRoot } from "../path" |
| | | import { QuartzComponentConstructor, QuartzComponentProps } from "./types" |
| | | import { slug as slugAnchor } from 'github-slugger' |
| | | import { slug as slugAnchor } from "github-slugger" |
| | | |
| | | function TagList({ fileData }: QuartzComponentProps) { |
| | | const tags = fileData.frontmatter?.tags |
| | | const slug = canonicalizeServer(fileData.slug!) |
| | | const baseDir = pathToRoot(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} class="internal">{display}</a> |
| | | </li> |
| | | })}</ul> |
| | | return ( |
| | | <ul class="tags"> |
| | | {tags.map((tag) => { |
| | | const display = `#${tag}` |
| | | const linkDest = baseDir + `/tags/${slugAnchor(tag)}` |
| | | return ( |
| | | <li> |
| | | <a href={linkDest} class="internal"> |
| | | {display} |
| | | </a> |
| | | </li> |
| | | ) |
| | | })} |
| | | </ul> |
| | | ) |
| | | } else { |
| | | return null |
| | | } |