Fumadocs

React 路由

在 React Router 上设置 Fumadocs。

入门

🌐 Getting Started

在继续之前,请确保已配置:

🌐 Before continuing, make sure to configure:

  • Tailwind CSS 4
  • Fumadocs MDX:请按照 Vite 设置指南 并创建类似 lib/source.ts 的必要文件。

安装

🌐 Installation

npm i fumadocs-core fumadocs-ui

样式

🌐 Styles

将以下内容添加到你的 Tailwind CSS 文件中:

🌐 Add the following to your Tailwind CSS file:

app/app.css
@import 'tailwindcss';
@import 'fumadocs-ui/css/neutral.css';
@import 'fumadocs-ui/css/preset.css';

创建页面

🌐 Create Pages

更新你的路线:

🌐 Update your routes:

routes.ts
import { type RouteConfig, index, route } from '@react-router/dev/routes';

export default [
  index('routes/home.tsx'),
  route('docs/*', 'docs/page.tsx'),
  route('api/search', 'docs/search.ts'),
] satisfies RouteConfig;

创建以下文件:

🌐 Create the following files:

import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared';

export function baseOptions(): BaseLayoutProps {
  return {
    nav: {
      title: 'React Router',
    },
  };
}

将整个应用封装在 Fumadocs 提供者下:

🌐 Wrap your entire app under Fumadocs providers:

root.tsx
import { Links, Meta, Scripts, ScrollRestoration } from 'react-router';
import { RootProvider } from 'fumadocs-ui/provider/react-router';
import './app.css';

export function Layout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en" suppressHydrationWarning>
      <head>
        <meta charSet="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <Meta />
        <Links />
      </head>
      <body className="flex flex-col min-h-screen">
        
        <RootProvider>{children}</RootProvider>
        <ScrollRestoration />
        <Scripts />
      </body>
    </html>
  );
}

完成

🌐 Done

你可以在 content/docs 开始撰写文档:

🌐 You can start writing documents at content/docs:

content/docs/index.mdx
---
title: Hello World
---

I love Fumadocs

Last updated on

On this page