import { url, siteName } from '@/app/layout.config'; import { source } from '@/lib/source'; import defaultMdxComponents from 'fumadocs-ui/mdx'; import { DocsBody, DocsDescription, DocsPage, DocsTitle, } from 'fumadocs-ui/page'; import { notFound } from 'next/navigation'; export default async function Page(props: { params: Promise<{ slug?: string[] }>; }) { const params = await props.params; const page = source.getPage(params.slug); if (!page) notFound(); const MDX = page.data.body; return ( {page.data.title} {page.data.description} ); } export async function generateStaticParams() { return source.generateParams(); } export async function generateMetadata(props: { params: Promise<{ slug?: string[] }>; }) { const params = await props.params; const page = source.getPage(params.slug); if (!page) notFound(); return { title: page.data.title, description: page.data.description, alternates: { canonical: url(page.url), }, icons: { apple: '/apple-touch-icon.png', icon: '/favicon.ico', }, manifest: '/site.webmanifest', openGraph: { url: url(page.url), type: 'article', images: [ { url: url('/ogimage.jpg'), width: 1200, height: 630, alt: siteName, }, ], }, }; }