Skip to content

Commit 0918421

Browse files
committed
feat: enable breadcrumb jsonld
1 parent 0156ee6 commit 0918421

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

app/[lang]/[[...mdxPath]]/page.tsx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import { SuggestPattern } from '@/app/_components/suggest-pattern'
44
import { JsonLd, generateArticleSchema } from '@app/_components/json-ld'
5+
import { generateBreadcrumbSchema } from '@app/_utils/generate-breadcrumb-schema'
56
import { Metadata } from 'next'
67
import { generateStaticParamsFor, importPage } from 'nextra/pages'
78
import { useMDXComponents } from '../../../mdx-components'
@@ -65,11 +66,29 @@ export default async function Page(props: PageProps) {
6566
ogImageUrl
6667
)
6768

69+
// Generate breadcrumb items
70+
const breadcrumbs = [
71+
{ title: 'Home', url: `/${params.lang}` }
72+
]
73+
74+
if (params.mdxPath) {
75+
let currentPath = ''
76+
for (const segment of params.mdxPath) {
77+
currentPath += `/${segment}`
78+
breadcrumbs.push({
79+
title: segment.charAt(0).toUpperCase() + segment.slice(1).replace(/-/g, ' '),
80+
url: `/${params.lang}${currentPath}`
81+
})
82+
}
83+
}
84+
85+
const breadcrumbSchema = generateBreadcrumbSchema(breadcrumbs)
6886
const pageKey = `${params.lang}-${params.mdxPath?.join('-') || 'home'}`
6987

7088
return (
7189
<div className="nextra-content">
7290
<JsonLd data={schemaData} />
91+
<JsonLd data={breadcrumbSchema} />
7392
<Wrapper key={pageKey} toc={toc} metadata={metadata}>
7493
<MDXContent {...props} params={params} />
7594
{!isHomepage && <SuggestPattern />}

0 commit comments

Comments
 (0)