| | |
| | | import { QuartzPluginData } from "../plugins/vfile" |
| | | import { resolveRelative } from "../util/path" |
| | | |
| | | type OrderEntries = "sort" | "filter" | "map" |
| | | |
| | | export interface Options { |
| | | title: string |
| | | folderDefaultState: "collapsed" | "open" |
| | |
| | | sortFn: (a: FileNode, b: FileNode) => number |
| | | filterFn?: (node: FileNode) => boolean |
| | | mapFn?: (node: FileNode) => void |
| | | order?: OrderEntries[] |
| | | } |
| | | |
| | | type DataWrapper = { |
| | |
| | | // Single file node |
| | | <li key={node.file.slug}> |
| | | <a href={resolveRelative(fileData.slug!, node.file.slug!)} data-for={node.file.slug}> |
| | | {node.file.frontmatter?.title} |
| | | {node.name} |
| | | </a> |
| | | </li> |
| | | ) : ( |