mirror of
https://github.com/jackyzha0/quartz.git
synced 2026-02-03 22:15:42 -06:00
localize breadcrubs rootName
This commit is contained in:
parent
25a6747d7d
commit
be1cb3e350
@ -3,6 +3,7 @@ import breadcrumbsStyle from "./styles/breadcrumbs.scss"
|
|||||||
import { FullSlug, SimpleSlug, resolveRelative, simplifySlug } from "../util/path"
|
import { FullSlug, SimpleSlug, resolveRelative, simplifySlug } from "../util/path"
|
||||||
import { classNames } from "../util/lang"
|
import { classNames } from "../util/lang"
|
||||||
import { trieFromAllFiles } from "../util/ctx"
|
import { trieFromAllFiles } from "../util/ctx"
|
||||||
|
import { i18n } from "../i18n"
|
||||||
|
|
||||||
type CrumbData = {
|
type CrumbData = {
|
||||||
displayName: string
|
displayName: string
|
||||||
@ -30,7 +31,7 @@ interface BreadcrumbOptions {
|
|||||||
|
|
||||||
const defaultOptions: BreadcrumbOptions = {
|
const defaultOptions: BreadcrumbOptions = {
|
||||||
spacerSymbol: "❯",
|
spacerSymbol: "❯",
|
||||||
rootName: "Home",
|
rootName: "",
|
||||||
resolveFrontmatterTitle: true,
|
resolveFrontmatterTitle: true,
|
||||||
showCurrentPage: true,
|
showCurrentPage: true,
|
||||||
}
|
}
|
||||||
@ -49,6 +50,7 @@ export default ((opts?: Partial<BreadcrumbOptions>) => {
|
|||||||
allFiles,
|
allFiles,
|
||||||
displayClass,
|
displayClass,
|
||||||
ctx,
|
ctx,
|
||||||
|
cfg,
|
||||||
}: QuartzComponentProps) => {
|
}: QuartzComponentProps) => {
|
||||||
const trie = (ctx.trie ??= trieFromAllFiles(allFiles))
|
const trie = (ctx.trie ??= trieFromAllFiles(allFiles))
|
||||||
const slugParts = fileData.slug!.split("/")
|
const slugParts = fileData.slug!.split("/")
|
||||||
@ -61,7 +63,7 @@ export default ((opts?: Partial<BreadcrumbOptions>) => {
|
|||||||
const crumbs: CrumbData[] = pathNodes.map((node, idx) => {
|
const crumbs: CrumbData[] = pathNodes.map((node, idx) => {
|
||||||
const crumb = formatCrumb(node.displayName, fileData.slug!, simplifySlug(node.slug))
|
const crumb = formatCrumb(node.displayName, fileData.slug!, simplifySlug(node.slug))
|
||||||
if (idx === 0) {
|
if (idx === 0) {
|
||||||
crumb.displayName = options.rootName
|
crumb.displayName = options.rootName !== "" ? options.rootName : i18n(cfg.locale).components.breadcrumbs.rootName;
|
||||||
}
|
}
|
||||||
|
|
||||||
// For last node (current page), set empty path
|
// For last node (current page), set empty path
|
||||||
|
|||||||
@ -62,6 +62,9 @@ export interface Translation {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: (variables: { minutes: number }) => string
|
readingTime: (variables: { minutes: number }) => string
|
||||||
}
|
}
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: string
|
||||||
|
}
|
||||||
}
|
}
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min read`,
|
readingTime: ({ minutes }) => `${minutes} min read`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home"
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min read`,
|
readingTime: ({ minutes }) => `${minutes} min read`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home"
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} perces olvasás`,
|
readingTime: ({ minutes }) => `${minutes} perces olvasás`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Otthon"
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user