自 2018 年开始远程工作以来,作为认证的 Obsidian 社区顾问,我已经帮助数十个团队建立了真正有效的知识体系。对于技术文档来说,Docusaurus 是一个始终脱颖而出的工具。
我之前的团队曾尝试用共享的 Google Docs 和 Notion 页面来维护文档,但我们在版本控制、可发现性和保持内容更新方面遇到了很大困难。就在那时,我们迁移到了 Docusaurus——一切都改变了。
根据 Stack Overflow 2024 年开发者调查,68% 的开发者更喜欢使用 Docusaurus 构建的文档网站,因为它简单且功能强大。这不足为奇——这个工具是专门为需要专业、可维护文档的团队设计的。
为什么选择 Docusaurus?
Docusaurus 解决了分布式团队面临的三个核心痛点:
版本控制集成 通过 Git 跟踪每一次变更,您永远不会丢失谁在何时编辑了什么的记录。这对于跨时区的团队来说至关重要。
搜索和导航 内置的 Algolia 搜索和分层侧边栏导航让查找信息变得快速——即使是还不熟悉您系统的新团队成员也能轻松找到所需内容。
静态站点性能 Docusaurus 生成静态 HTML 文件,加载时间仅需毫秒级。这意味着您的文档在任何地方都可以访问,即使网络连接不稳定。
开始使用 Docusaurus
我将向您展示我们设置文档网站的确切步骤。整个过程从开始到完成大约需要 45 分钟。
第一步:初始化项目
使用官方模板创建一个新的 Docusaurus 项目:
npx create-docusaurus@latest my-docs classic
cd my-docs
经典模板为您提供了一个坚实的基础,开箱即用支持文档、博客和登录页面。
第二步:配置网站
打开 docusaurus.config.js 并更新基本设置:
module.exports = {
title: '团队文档',
tagline: '您的团队知识库',
url: 'https://docs.yourteam.com',
baseUrl: '/',
onBrokenLinks: 'throw',
favicon: 'img/favicon.ico',
};
我建议在开发过程中将 onBrokenLinks 设置为 throw——这可以在死链接到达生产环境之前及早发现问题。
第三步:组织文档结构
创建一个符合团队思维方式的逻辑文件夹结构:
docs/
├── getting-started/
│ ├── overview.md
│ └── setup.md
├── development/
│ ├── coding-standards.md
│ └── testing.md
└── processes/
└── release-workflow.md
更新 sidebars.js 中的侧边栏配置以反映此结构。
第四步:使用 MDX 编写内容
Docusaurus 使用 MDX,这意味着您可以直接在 Markdown 中嵌入 React 组件:
## API 速率限制
我们的 API 实施速率限制以确保公平使用:
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
<Tabs>
<TabItem value="free" label="免费版">
每小时 100 次请求
</TabItem>
<TabItem value="pro" label="专业版">
每小时 10,000 次请求
</TabItem>
</Tabs>
这使得文档比静态 Markdown 更加互动和引人入胜。
第五步:设置版本管理
对于有多个版本的产品,启用版本控制:
npm run docusaurus docs:version 1.0.0
这会创建一个 versioned_docs 文件夹,您可以在其中维护每个版本的文档。
第六步:部署网站
使用 Vercel 或 Netlify 等平台部署非常简单。只需连接您的 GitHub 仓库,让平台处理构建和部署。
对于 GitHub Pages,使用内置的部署命令:
npm run deploy
远程团队协作最佳实践
基于我为 15+ 个团队设置文档的经验,以下三个实践带来了巨大的改变:
文档即代码 像对待其他代码一样对待文档。在拉取请求中审查变更,运行自动化检查,并维护变更日志。
明确所有权 为每个文档部分分配明确的所有权。这确保有人负责保持内容的更新。
定期审核 安排季度审核以删除过时内容并识别差距。一个陈旧的知识库比没有知识库更糟糕。
结语
Docusaurus 已经成为我工作过的每个远程团队的技术文档首选工具。它结合了简单性、强大功能和 Git 集成,非常适合需要保持一致的分布式团队。
如果您仍在依赖分散的 Notion 页面或过时的 Confluence 空间,我强烈建议您尝试 Docusaurus。它是免费的、开源的,并且有一个充满活力的社区支持。
