简介
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。它们是对等依赖项,需要与它一同安装:
命令行
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 配置文件、一个内容源、根布局、文档布局和文档页面路由。入门指南逐一介绍了这些文件。
配置位置
| 内容 | 位置 |
|---|---|
| 站点标题、徽标、导航、页脚 | onedocs.config.ts,参见 配置 |
| 首页主视觉区和功能 | homepage,位于 onedocs.config.ts 中,由 HomePage 在 src/app/page.tsx 中渲染 |
| 文档布局和页面 | src/app/docs/layout.tsx 和 src/app/docs/[[...slug]]/page.tsx,参见 入门指南 |
| 内容文件夹和侧边栏顺序 | source.config.ts 和 content/docs/meta.json |
| MDX 组件 | mdxComponents,参见 组件 |
| 搜索、站点地图、robots.txt、llms.txt | src/app/ 下的路由文件,参见 SEO 与搜索 |
| 元数据和 Open Graph 图像 | onedocs/metadata 和 onedocs/og,参见 API参考 |
设计理念
- Markdown 优先 - 编写
.md或.mdx,即可生成文档 - 单个配置文件 - 全站设置都在
onedocs.config.ts中 - 灵活扩展 - 需要更多控制?直接使用 Fumadocs