feat(breadcrumbs): add option to hide current page (#601)
* feat(breadcrumbs): add option to hide current page
* Remove debug lines
Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
---------
Co-authored-by: ruant <ruant@ruant.net>
Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
| | |
| | | rootName: "Home", // name of first/root element |
| | | resolveFrontmatterTitle: true, // whether to resolve folder names through frontmatter titles |
| | | hideOnRoot: true, // whether to hide breadcrumbs on root `index.md` page |
| | | showCurrentPage: true, // wether to display the current page in the breadcrumbs |
| | | }) |
| | | ``` |
| | | |
| | |
| | | * Wether to display breadcrumbs on root `index.md` |
| | | */ |
| | | hideOnRoot: boolean |
| | | /** |
| | | * Wether to display the current page in the breadcrumbs. |
| | | */ |
| | | showCurrentPage: boolean |
| | | } |
| | | |
| | | const defaultOptions: BreadcrumbOptions = { |
| | |
| | | rootName: "Home", |
| | | resolveFrontmatterTitle: true, |
| | | hideOnRoot: true, |
| | | showCurrentPage: true, |
| | | } |
| | | |
| | | function formatCrumb(displayName: string, baseSlug: FullSlug, currentSlug: SimpleSlug): CrumbData { |
| | |
| | | } |
| | | |
| | | // Add current file to crumb (can directly use frontmatter title) |
| | | if (options.showCurrentPage) { |
| | | crumbs.push({ |
| | | displayName: fileData.frontmatter!.title, |
| | | path: "", |
| | | }) |
| | | } |
| | | } |
| | | return ( |
| | | <nav class={`breadcrumb-container ${displayClass ?? ""}`} aria-label="breadcrumbs"> |
| | | {crumbs.map((crumb, index) => ( |