
# 简介

Onedocs 是一组布局、组件和辅助函数，用于构建基于 Next.js 和 Fumadocs 的文档网站。你编写 Markdown，在一个配置文件中描述网站，然后由 Onedocs 提供文档框架、主页和 SEO 路由。

它适用于独立的文档网站，不适用于为现有应用添加文档。

## Onedocs 提供的功能

在 Fumadocs 的基础上，`onedocs` 包为你提供：

- **布局** - `DocsLayout` 和 `DocsPage` 为 Fumadocs UI 文档布局添加外层框架，包含侧边栏、搜索、主题切换和目录。`HomePage` 会渲染带有主视觉、安装命令、功能介绍和页脚的落地页。
- **单个配置文件** - `onedocs.config.ts` 保存标题、描述、徽标、站点图标、导航链接、页脚和主页内容。
- **MDX 组件** - `mdxComponents` 会注册提示框、选项卡、卡片、步骤、折叠面板、文件树、图片缩放和类型表格，页面无需导入即可使用。
- **CSS 预设** - 只需一次导入，即可引入 Tailwind CSS v4、Fumadocs UI 主题和 Onedocs 布局样式。
- **SEO 辅助函数** - 用于 `sitemap.xml`、`robots.txt`、`llms.txt`、`llms-full.txt`、页面元数据和 Open Graph 图片的函数。

## 需要自行设置的内容

Onedocs 不会捆绑 Next.js 或 Fumadocs。它们是对等依赖项，需要与它一同安装：

```bash
npm install onedocs fumadocs-core fumadocs-mdx fumadocs-ui lucide-react@0.562 next react react-dom
```

你还需要 Tailwind CSS v4、Node.js 20.9 或更高版本，以及大约十个小文件：Next.js 和 Fumadocs MDX 配置文件、一个内容源、根布局、文档布局和文档页面路由。[入门指南](https://onedocs.inline0.dev/zh/docs/getting-started)逐一介绍了这些文件。

## 配置位置

| 内容 | 位置 |
|------|-------|
| 站点标题、徽标、导航、页脚 | `onedocs.config.ts`，参见 [配置](https://onedocs.inline0.dev/zh/docs/configuration) |
| 首页主视觉区和功能 | `homepage`，位于 `onedocs.config.ts` 中，由 `HomePage` 在 `src/app/page.tsx` 中渲染 |
| 文档布局和页面 | `src/app/docs/layout.tsx` 和 `src/app/docs/[[...slug]]/page.tsx`，参见 [入门指南](https://onedocs.inline0.dev/zh/docs/getting-started) |
| 内容文件夹和侧边栏顺序 | `source.config.ts` 和 `content/docs/meta.json` |
| MDX 组件 | `mdxComponents`，参见 [组件](https://onedocs.inline0.dev/zh/docs/components) |
| 搜索、站点地图、robots.txt、llms.txt | `src/app/` 下的路由文件，参见 [SEO 与搜索](https://onedocs.inline0.dev/zh/docs/seo-search) |
| 元数据和 Open Graph 图像 | `onedocs/metadata` 和 `onedocs/og`，参见 [API参考](https://onedocs.inline0.dev/zh/docs/api-reference) |

## 设计理念

- **Markdown 优先** - 编写 `.md` 或 `.mdx`，即可生成文档
- **单个配置文件** - 全站设置都在 `onedocs.config.ts` 中
- **灵活扩展** - 需要更多控制？直接使用 Fumadocs

## 从这里开始

- [入门指南](https://onedocs.inline0.dev/zh/docs/getting-started)
- [组件](https://onedocs.inline0.dev/zh/docs/components)
- [SEO 与搜索](https://onedocs.inline0.dev/zh/docs/seo-search)
- [配置](https://onedocs.inline0.dev/zh/docs/configuration)
- [API参考](https://onedocs.inline0.dev/zh/docs/api-reference)
