什么是 Fumadocs
深入了解 Fumadocs — 一个你可以"打破"的文档框架
Fumadocs 是一个"你可以打破的文档框架"。
Fumadocs 框架结合了 UI + Core + 内容源。它更像是一种"心智框架",其中每一层都可以作为独立的库运行。
设计理念
Fumadocs 旨在提供更具定制性的文档构建体验 — 它避免了固执己见的设计,是一个"你可以打破的框架"。
更少的抽象
大多数框架依赖配置文件,而配置文件通常"在你希望调整细节时缺乏灵活性"。用户无法控制页面渲染或内部逻辑。
Fumadocs 则期望开发者编写代码并与现有软件集成。它完全暴露了应用的工作方式,并且是完全可定制的,取代了典型的配置文件方式。
无缝集成
Fumadocs 与你的 React 框架紧密集成,提供有用的工具和精美的 UI。
Next.js 开发者可以继续使用 App Router 特性,如静态站点生成。体验保持熟悉,"对 Next.js 开发者来说没有新东西"。
可组合的 UI
Fumadocs UI(默认主题)仅提供用户界面,它的固执己见之处特别在于改善移动端响应性和用户体验。
通过 Fumadocs CLI 提供了一种更灵活的方式(受 Shadcn UI 启发),允许你"fork"Fumadocs UI 的部分内容并完全自定义。
服务端优先
传统的静态站点生成器是静态的。Fumadocs 引入了"由 React Server Component 驱动的服务端优先方式"。通过明确定义的服务端-客户端边界,内容变得动态且可交互。
开发者可以获取服务端数据来展示内容,或与 CMS 集成实现实时更新。结果始终是最新的且易于维护。
极简
Fumadocs 由 Fuma 和众多贡献者维护,注重代码库的可维护性。
该项目并不试图提供所有可能的功能,而是专注于"使基础功能完美且维护良好"。欢迎社区贡献。
何时使用 Fumadocs
Fumadocs 以灵活性为基础构建,不限于特定用例。
fumadocs-core— 用于构建文档的无头 UI 库。fumadocs-mdx— 用于处理 MDX 内容的实用库。
对于大多数现代 Web 应用,仅使用 React.js 是不够的。项目通常需要博客、展示页、FAQ 页面等。Fumadocs 帮助你"用更少的样板代码"更轻松地构建文档。
如果你感兴趣,可以查看对比页面。
文档站点
Fumadocs 以写作体验为中心,提供精美的主题和众多文档自动化工具。
它加速了代码库迭代,"同时不会让你的文档落后"。Fumadocs 的文档站点本身就是一个可运行的示例。
博客站点
大多数 React.js 框架已经能满足博客站点的需求。
Fumadocs 添加了语法高亮、文档搜索和默认主题(Fumadocs UI)等工具,帮助开发者"避免重复造轮子"。