mirror of
https://github.com/jackyzha0/quartz.git
synced 2026-02-04 06:25:41 -06:00
Merge 56dab78988 into ec00a40aef
This commit is contained in:
commit
280f08f346
@ -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,10 @@ 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
|
||||||
|
|||||||
@ -65,6 +65,9 @@ export default {
|
|||||||
? `دقيقتان للقراءة`
|
? `دقيقتان للقراءة`
|
||||||
: `${minutes} دقائق للقراءة`,
|
: `${minutes} دقائق للقراءة`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `Es llegeix en ${minutes} min`,
|
readingTime: ({ minutes }) => `Es llegeix en ${minutes} min`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min čtení`,
|
readingTime: ({ minutes }) => `${minutes} min čtení`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} Min. Lesezeit`,
|
readingTime: ({ minutes }) => `${minutes} Min. Lesezeit`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -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 }) => `Se lee en ${minutes} min`,
|
readingTime: ({ minutes }) => `Se lee en ${minutes} min`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -60,6 +60,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `زمان تقریبی مطالعه: ${minutes} دقیقه`,
|
readingTime: ({ minutes }) => `زمان تقریبی مطالعه: ${minutes} دقیقه`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min lukuaika`,
|
readingTime: ({ minutes }) => `${minutes} min lukuaika`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min de lecture`,
|
readingTime: ({ minutes }) => `${minutes} min de lecture`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -60,6 +60,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} דקות קריאה`,
|
readingTime: ({ minutes }) => `${minutes} דקות קריאה`,
|
||||||
},
|
},
|
||||||
|
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: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} menit baca`,
|
readingTime: ({ minutes }) => `${minutes} menit baca`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -60,6 +60,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => (minutes === 1 ? "1 minuto" : `${minutes} minuti`),
|
readingTime: ({ minutes }) => (minutes === 1 ? "1 minuto" : `${minutes} minuti`),
|
||||||
},
|
},
|
||||||
|
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} мин оқу`,
|
readingTime: ({ minutes }) => `${minutes} мин оқу`,
|
||||||
},
|
},
|
||||||
|
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} min skaitymo`,
|
readingTime: ({ minutes }) => `${minutes} min skaitymo`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min lesning`,
|
readingTime: ({ minutes }) => `${minutes} min lesning`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -60,6 +60,9 @@ export default {
|
|||||||
readingTime: ({ minutes }) =>
|
readingTime: ({ minutes }) =>
|
||||||
minutes === 1 ? "1 minuut leestijd" : `${minutes} minuten leestijd`,
|
minutes === 1 ? "1 minuut leestijd" : `${minutes} minuten leestijd`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min. czytania `,
|
readingTime: ({ minutes }) => `${minutes} min. czytania `,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `Leitura de ${minutes} min`,
|
readingTime: ({ minutes }) => `Leitura de ${minutes} min`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -60,6 +60,9 @@ export default {
|
|||||||
readingTime: ({ minutes }) =>
|
readingTime: ({ minutes }) =>
|
||||||
minutes == 1 ? `lectură de 1 minut` : `lectură de ${minutes} minute`,
|
minutes == 1 ? `lectură de 1 minut` : `lectură de ${minutes} minute`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -60,6 +60,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `время чтения ~${minutes} мин.`,
|
readingTime: ({ minutes }) => `время чтения ~${minutes} мин.`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `อ่านราว ${minutes} นาที`,
|
readingTime: ({ minutes }) => `อ่านราว ${minutes} นาที`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} dakika okuma süresi`,
|
readingTime: ({ minutes }) => `${minutes} dakika okuma süresi`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} хв читання`,
|
readingTime: ({ minutes }) => `${minutes} хв читання`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} phút đọc`,
|
readingTime: ({ minutes }) => `${minutes} phút đọc`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes}分钟阅读`,
|
readingTime: ({ minutes }) => `${minutes}分钟阅读`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `閱讀時間約 ${minutes} 分鐘`,
|
readingTime: ({ minutes }) => `閱讀時間約 ${minutes} 分鐘`,
|
||||||
},
|
},
|
||||||
|
breadcrumbs: {
|
||||||
|
rootName: "Home",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user