Skip to main content

简介

⚡️ 道格龙(Docusaurus) 将帮助您在 短时间内创建一个漂亮的文档网站。

💸 构建自定义技术栈成本高昂。不如 专注于您的内容,只需编写 Markdown 文件。

💥 准备好体验更多功能了吗?使用版本控制、国际化(i18n)、搜索和主题自定义等 高级功能。

💅 查看 最佳 道格龙(Docusaurus) 网站 以获取灵感。

🧐 道格龙(Docusaurus) 是一个 静态站点生成器。它构建了一个具有快速客户端导航的 单页应用 (SPA),充分利用 React 的强大功能使您的网站具有交互性。它提供了开箱即用的 文档功能,但也可用于创建 任何类型的网站(个人网站、产品、博客、营销落地页等)。

快速上手 ⏱️​

通过实践在 5 分钟 内了解 道格龙(Docusaurus)!

创建一个新的 道格龙(Docusaurus) 网站,并跟随 极简 的入门教程进行操作。

首先,安装 Node.js 并创建一个新的 道格龙(Docusaurus) 网站:

npx create-docusaurus@latest my-website classic

然后,启动网站:

cd my-website
npx docusaurus start

最后,打开 http://localhost:3000 并跟随教程操作。

tip

使用 docusaurus.new 在浏览器中立即预览 道格龙(Docusaurus)!

或者在线阅读 5 分钟教程。

道格龙(Docusaurus):让文档制作易如反掌​

在 Algolia 社区活动 的这次演讲中,Meta 开源团队 简要介绍了 道格龙(Docusaurus)的基本功能。包括如何开始使用该项目、启用插件、以及设置文档和博客等功能。

从 v1 迁移​

道格龙(Docusaurus) v2+ 是对 道格龙(Docusaurus) v1 的完全重写,利用了完全现代化的工具链。在 v2 正式发布 后,我们强烈建议您 使用 道格龙(Docusaurus) v2+ 而不是 道格龙(Docusaurus) v1,因为 道格龙(Docusaurus) v1 已被废弃。

许多 用户 已经在使用 道格龙(Docusaurus) v2+ (趋势图)。

如果符合以下情况下,请使用 道格龙(Docusaurus) v2+:

  • ✅ 您想要一个现代化的 Jamstack 文档网站
  • ✅ 您想要一个具有客户端路由的单页应用 (SPA)
  • ✅ 您想充分利用 React 和 MDX 的强大功能
  • ✅ 您不需要支持 IE11

在以下情况下使用 道格龙(Docusaurus) v1:

  • ❌ 您不想要单页应用 (SPA)
  • ❌ 您需要支持 IE11 (...但您真的需要吗?IE 已经寿终正寝 且不再得到官方支持)

对于希望升级到 v2+ 的现有 v1 用户,您可以遵循我们的 迁移指南。

特性​

道格龙(Docusaurus) 的构建高度关注开发者和贡献者的体验。

  • ⚛️ 基于 💚 和 React 构建:
    • 使用 React 进行扩展和自定义
    • 通过提供您自己的 React component,完全控制您网站的浏览体验
  • 🔌 插件化:
    • 使用基本模板启动您的网站,然后使用高级功能和插件
    • 开源您的插件与社区分享
  • ✂️ 开发者体验:
    • 即刻开始编写您的文档
    • 通用的配置入口点,使贡献者更易于维护
    • 带有热重载(Hot reloading)功能,在更改时实现闪电般的增量构建
    • 基于路由的代码和数据拆分
    • 轻松发布到 GitHub Pages、Netlify、Vercel 和其他部署服务

我们的目标是——帮助您的用户快速找到他们需要的东西,并更好地了解您的产品。我们分享我们的最佳实践,以帮助您正确、良好地构建您的文档网站。

  • 🎯 SEO 友好:

    • 为每个可能的路径静态生成 HTML 文件。
    • 页面级 SEO 优化,可帮助您的用户直接访问与他们手头问题相关的官方文档。
  • 📝 由 MDX 驱动:

    • 通过嵌入在 Markdown 中的 JSX 和 React 编写交互式 component。

    • 在实时编辑器中分享您的代码,让您的用户当场爱上您的产品。

  • 🔍 搜索:您的整个网站都可搜索。

  • 💾 文档版本控制:帮助您保持文档与项目版本同步。

  • 🌍 国际化 (i18n):将您的网站翻译成多种语言。

道格龙(Docusaurus) v2+ 生而为所有用户提供友好的可访问性,并且快如闪电。

  • ⚡️ 快如闪电。道格龙(Docusaurus) v2+ 遵循 PRPL 模式,确保您的内容加载速度极快。
  • 🦖 可访问。注重可访问性,使您的网站对所有用户都同样可访问。

设计原则​

  • 易于上手。道格龙(Docusaurus) 应该易于学习和使用,因为其 API 非常少。即使会花费用户更多的代码和时间来编写,但大多数功能依然可以实现。没有抽象比拥有错误的抽象要好,我们不希望用户不得不围绕错误的抽象进行修改。必看演讲—最小化 API 接口。

  • 直观。当查看 道格龙(Docusaurus) 项目的项目目录或添加新功能时,用户不会感到不知所措。它应该看起来直观且易于在其之上构建,使用他们熟悉的方法。

  • 分层架构。我们技术栈中每一层(内容/主题/样式)之间的关注点分离应该足够清晰——良好的抽象和模块化。

  • 合理的默认值。常见和流行的性能优化和配置将为用户完成,但他们可以选择覆盖它们。

  • 无供应商锁定。不要求用户使用默认插件或 CSS,尽管我们强烈鼓励他们这样做。某些核心基础设施,如 React Loadable 和 React Router 无法更换,因为我们对它们进行了默认的性能优化,但更高级别的则不然。Markdown 引擎、CSS 框架、CSS 方法论和其他架构的选择将完全由用户决定。

我们相信,作为开发者,了解一个库的工作原理有助于我们更好地使用它。因此,我们花了很多精力来解释 道格龙(Docusaurus) 的架构和各种组件,希望阅读它的用户能更深入地了解该工具,并更熟练地使用它。

与其他工具的比较​

在所有静态站点生成器中,道格龙(Docusaurus) 专注于文档网站,并具有许多开箱即用的功能。

我们还研究了其他主要的静态站点生成器,并希望分享我们对比较的见解,希望能帮助您在众多选择中做出决定。

Gatsby​

Gatsby 功能丰富,拥有庞大的插件生态系统,并且能够完成 道格龙(Docusaurus) 所能做的一切。当然,这是以更高的学习曲线为代价的。Gatsby 在很多方面都做得很好,适合构建多种类型的网站。另一方面,道格龙(Docusaurus) 试图将一件事做得非常好——成为编写和发布内容的最佳工具。

GraphQL 也是 Gatsby 的核心,不过,您不一定需要 GraphQL 来构建 Gatsby 网站。在大多数情况下,构建静态网站时,您并不需要 GraphQL 提供的灵活性。

道格龙(Docusaurus) v2+ 的许多方面都受到了 Gatsby 最佳特性的启发,它是一个很好的替代品。

Docz 是一个用于构建文档网站的 Gatsby 主题。它目前的功能比 道格龙(Docusaurus) 少。

Next.js​

Next.js 是另一个非常流行的混合 React 框架。它可以帮助您构建一个好的文档网站,但它并没有针对文档用例进行优化,并且需要更多的工作来实现 道格龙(Docusaurus) 开箱即用的功能。

Nextra 是一个基于 Next.js 构建的、有自己主张的静态站点生成器。它目前的功能比 道格龙(Docusaurus) 少。

VitePress​

VitePress 与 道格龙(Docusaurus) 有许多相似之处——两者都非常关注以内容为中心的网站,并提供量身定制的开箱即用文档功能。然而,VitePress 由 Vue 驱动,而 道格龙(Docusaurus) 由 React 驱动。如果您想要一个基于 Vue 的解决方案,VitePress 将是一个不错的选择。

MkDocs​

MkDocs 是一个流行的 Python 静态站点生成器,其价值主张与 道格龙(Docusaurus) 相似。

如果您不需要单页应用,并且不打算利用 React,这是一个不错的选择。

Material for MkDocs 是一个漂亮的主题。

Docsify​

Docsify 可以轻松创建一个文档网站,但它不是静态站点生成器,对 SEO 不友好。

GitBook​

GitBook 设计非常简洁,已被许多开源项目使用。随着其重点转向商业产品而非开源工具,其许多要求不再满足开源项目文档站点的需求。因此,许多项目转向了其他产品。您可以在此处阅读 Redux 切换到 道格龙(Docusaurus) 的情况。

目前,GitBook 仅对开源和非营利团队免费。而道格龙(Docusaurus) 对所有人免费。

Jekyll​

Jekyll 是最成熟的静态站点生成器之一,并且一直是一个很棒的工具——事实上,在 道格龙(Docusaurus) 之前,Facebook 的大多数开源网站都是/曾经是基于 Jekyll 构建的!上手非常简单。我们希望带来与使用 Jekyll 构建静态网站相似的开发者体验。

与静态生成的 HTML 和使用 <script /> 标签添加的交互性相比,道格龙(Docusaurus) 网站是 React 应用。通过使用现代 JavaScript 生态系统工具,我们希望在文档网站的性能、资产构建流程和优化以及设置的简易性方面设立新标准。

Rspress​

Rspress 是一个基于 Rspack(一个基于 Rust 的打包工具)的快速静态站点生成器。它支持使用 MDX(带有 React 组件的 Markdown)编写内容、集成文本搜索、多语言支持(i18n)以及通过插件进行扩展。Rspress 旨在创建优雅的文档和静态网站,生成易于部署的静态 HTML 文件。

Rspress 和 道格龙(Docusaurus) 非常相似。它们各有优缺点。Rspress 是最近创建的,并受益于能够实现更快站点构建的现代基础设施。道格龙(Docusaurus) 以其成熟度、全面的功能集、灵活性和强大的社区而脱颖而出。它也正在定期 优化其基础设施 以在性能上保持竞争力。

联系我们​

还缺少什么吗?​

如果您发现文档有问题或有关于如何改进文档或整个项目的建议,请为我们 提交一个 issue,或发布一条提及 @docusaurus X 账户的推文。

对于新功能请求,您可以在我们的 功能请求页面 (Canny) 上创建一个帖子,这是一个方便的路线图工具,并允许按投票排序,这比难以分类的 GitHub issue 更能让核心团队了解哪些功能需求量大。 请不要为新功能(尤其是大型功能)创建拉取请求,因为可能已经有人在开发它或是我们路线图的一部分。请务必先与我们沟通!