From bd26b035ac8bb40acc00589d869093cf278f4ee3 Mon Sep 17 00:00:00 2001 From: zuiidea Date: Tue, 14 Apr 2026 23:17:07 +0800 Subject: [PATCH] feat(docs): add Nextra catch-all MDX page Made-with: Cursor --- apps/docs/app/[[...mdxPath]]/page.tsx | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 apps/docs/app/[[...mdxPath]]/page.tsx diff --git a/apps/docs/app/[[...mdxPath]]/page.tsx b/apps/docs/app/[[...mdxPath]]/page.tsx new file mode 100644 index 0000000..78f5067 --- /dev/null +++ b/apps/docs/app/[[...mdxPath]]/page.tsx @@ -0,0 +1,31 @@ +import { generateStaticParamsFor, importPage } from "nextra/pages"; +import { useMDXComponents as getMDXComponents } from "../../mdx-components"; + +export const generateStaticParams = generateStaticParamsFor("mdxPath"); + +/** Nextra Docs Theme 在运行时会提供 `wrapper`;类型上可能为 optional。 */ +const Wrapper = getMDXComponents().wrapper!; + +type PageProps = { params: Promise<{ mdxPath?: string[] }> }; + +export async function generateMetadata(props: PageProps) { + const params = await props.params; + const { metadata } = await importPage(params.mdxPath); + return metadata; +} + +export default async function Page(props: PageProps) { + const params = await props.params; + const { + default: MDXContent, + toc, + metadata, + sourceCode, + } = await importPage(params.mdxPath); + + return ( + + + + ); +}