import { MDXProvider } from '@mdx-js/react';
import { Content, usePage, useSite } from '@rspress/core/runtime';
import {
Callout,
FallbackHeading,
getCustomMDXComponent,
useScrollAfterNav,
} from '@rspress/core/theme';
import './doc.scss';
function FallbackTitle() {
const { site } = useSite();
const { page } = usePage();
const { headingTitle, title } = page;
return (
site.themeConfig.fallbackHeadingTitle !== false &&
!headingTitle &&
);
}
export function DocContent({
components,
isOverviewPage = false,
afterDocContent,
beforeDocContent,
}: {
components: Record> | undefined;
isOverviewPage?: boolean;
/**
* Optional React node rendered before the main document content.
* Can be used for banners, notices, or custom elements at the top of the page.
*/
beforeDocContent?: React.ReactNode;
/**
* Optional React node rendered after the main document content.
* Can be used for footers, navigation, or other content at the bottom of the page.
*/
afterDocContent?: React.ReactNode;
}) {
useScrollAfterNav();
const mdxComponents = {
...getCustomMDXComponent(),
...components,
// custom components can be added here
$$$callout$$$: Callout, // FIXME: For .md files, .md files cannot add import statements
};
return (
{beforeDocContent}
{!isOverviewPage && }
{afterDocContent}
);
}