update to nextra 4

This commit is contained in:
2025-09-06 19:19:45 +02:00
parent d17a565130
commit 7864c38371
48 changed files with 998 additions and 500 deletions

View File

@@ -0,0 +1,27 @@
import { generateStaticParamsFor, importPage } from "nextra/pages";
import { useMDXComponents as getMDXComponents } from "../../mdx-components";
export const generateStaticParams = generateStaticParamsFor("mdxPath");
export async function generateMetadata(props) {
const params = await props.params;
const { metadata } = await importPage(params.mdxPath);
return metadata;
}
const Wrapper = getMDXComponents().wrapper;
export default async function Page(props) {
const params = await props.params;
const {
default: MDXContent,
toc,
metadata,
sourceCode,
} = await importPage(params.mdxPath);
return (
<Wrapper toc={toc} metadata={metadata} sourceCode={sourceCode}>
<MDXContent {...props} params={params} />
</Wrapper>
);
}

59
app/layout.tsx Normal file
View File

@@ -0,0 +1,59 @@
import { Footer, Layout, Navbar } from "nextra-theme-docs";
import { Banner, Head } from "nextra/components";
import { getPageMap } from "nextra/page-map";
import "nextra-theme-docs/style.css";
export const metadata = {
// Define your metadata here
// For more information on metadata API, see: https://nextjs.org/docs/app/building-your-application/optimizing/metadata
};
const banner = <Banner storageKey="some-key">Nextra 4.0 is released 🎉</Banner>;
const navbar = (
<Navbar
projectLink="https://github.com/cupcakearmy/memoir"
logo={<b>Memoir</b>}
/>
);
const footer = (
<Footer>
<span>
MIT {new Date().getFullYear()} ©{" "}
<a href="https://github.com/cupcakearmy" target="_blank">
cupcakearmy
</a>
.
</span>
</Footer>
);
export default async function RootLayout({ children }) {
return (
<html lang="en" dir="ltr" suppressHydrationWarning>
<Head>
<script
defer
src="https://spectare.nicco.io//unicorn.js"
data-website-id="4aecaa6f-1e68-4a21-960a-8ff5aaa6599a"
></script>
</Head>
<body>
<Layout
sidebar={{
defaultMenuCollapseLevel: 1,
}}
feedback={{
content: "Question? An error? Give feedback →",
}}
banner={banner}
navbar={navbar}
pageMap={await getPageMap()}
docsRepositoryBase="https://github.com/cupcakearmy/memoir/blob/main"
footer={footer}
>
{children}
</Layout>
</body>
</html>
);
}