跳至主要内容

宣布 Docusaurus 2.0

·阅读时长:13 分钟
Sébastien Lorber
Docusaurus 维护者,《本周 React》编辑
Joshua Chen
为 Docusaurus 努力工作
Yangshun Tay
Meta 前端工程师
Alexey Pyltsyn
开源爱好者
Paul O’Shannessy
Meta 工程经理
Joel Marcey
Docusaurus 1 的共同创建者

今天,我们非常高兴终于宣布 Docusaurus 2.0!🥳️

Meta 开源 中,我们相信 Docusaurus 将帮助您以最小的努力构建最佳文档网站,让您专注于真正重要的事情:编写内容。

经过4 年的努力,75 个 Alpha 版本22 个 Beta 版本,下一代 Docusaurus 已准备好迎接黄金时代。从现在开始,我们计划遵守 语义版本控制,并更频繁地发布主要版本

social-card image

我们已在 ProductHuntHacker News 上发布!

现在是表达您对 Docusaurus 的爱的最佳时机!

Docusaurus 2.0 - Build optimized websites quickly, focus on your content. | Product Hunt
提示

时间紧迫?查看 Docusaurus 2.0 中的新增功能

Docusaurus 到底是什么?

Docusaurus 是一个静态网站生成器,可帮助您在短时间内构建漂亮的文档网站

专注于您的内容:只需编写Markdown 文件。Docusaurus 将为您生成一个优化的网站,该网站易于在任何地方托管

Docusaurus 功能齐全灵活:我们提供精心设计的文档和博客布局,以及开箱即用的版本控制、搜索和国际化功能,并呼吁可访问性和搜索引擎优化。其灵活的主题系统允许调整 UI 以匹配您的品牌,使其与您的主要网站或文档门户网站完美集成。它使用React,使现代的客户端导航成为可能,并能够构建交互式文档

Introducing Slash

Docusaurus 的理念类似于帕累托法则:您可以以 20% 的努力获得80% 的结果。这使您能够以最小的努力与顶级文档网站竞争。

除非您正在组建一个拥有工程资源的文档团队,否则您可能需要 Docusaurus!

Rachel Nabors
Rachel Nabors前 ReactJS 和 React-Native 文档经理

Docusaurus 旨在成为最佳文档工具,但您也可以将其用于其他用例:博客、知识库、开发者资料库、第二大脑,甚至用于搭建登录页面!

将 Docusaurus 用于我的技术博客是一个绝佳的选择。它开箱即用,外观很棒,而且出色的 DX 使我的写作效率大大提高

Johnny Reilly
Johnny ReillyInvestec 集团首席工程师
提示

立即通过我们的 在线游乐场5 分钟教程 体验 Docusaurus ⏱️

Docusaurus 背后的故事

Docusaurus 是在2017 年Facebook 开源(现为 Meta 开源)中创建的。我们有很多内部和开源项目需要记录。编写优质文档已经足够复杂,更不用说为美观的网站创建 HTML、CSS 和 JavaScript 了。我们希望项目负责人能够专注于内容,而Markdown非常适合此目的。

当时,我们的解决方案是一遍又一遍地复制/粘贴 Jekyll 模板。这自然会变得难以维护,因此我们创建了一个工具来一次性解决我们自己的痛点

Docusaurus v1 诞生了!

Birth of Slash

它迅速在 Facebook 和前端生态系统中获得动力,被许多流行的项目采用,例如 PrettierBabelReact-NativeKaTeX,当然还有 Docusaurus v1 本身。


注意

请注意,上面的示例网站使用不同的颜色,但仍然看起来非常相似。

迈向 Docusaurus 2.0

Docusaurus v1 非常成功,但我们开始质疑一些架构设计

  • React 仅用作服务器端模板语言,而不是在客户端使用
  • 主题系统非常有限,除了用 CSS 更改一些颜色之外,很难进行更高级的定制
  • 文档版本控制系统令人困惑,因为它基于差异算法
  • 代码库是单体的,既没有经过充分测试,也不易于扩展

Docusaurus v2 是从头开始使用新的模块化架构重建

  • React 现在也用于客户端,使现代单页应用程序导航成为可能
  • 插件使社区能够以第三方软件包的形式贡献有用的功能
  • 主题比以往任何时候都更灵活
  • 文档版本控制现在基于快照副本,更容易理解
  • 我们保留了 v1 中的所有优点:文档、博客、页面、版本控制、i18n…
  • 我们实现了几个新功能

更多详情请参见 Docusaurus 2 项目发布公告v1 到 v2 迁移指南

谁在使用 Docusaurus 2.0?

尽管处于预发布阶段,但Docusaurus v2 在 NPM 下载量方面很快就超过了 Docusaurus v1

NPM downloads: v2 outgrows v1

我们的 GitHub 星标趋势非常积极,与主要框架竞争

GitHub stars: Docusaurus is well-positioned

如今,即使在正式发布之前,Docusaurus v2 也已取得巨大成功


提示

请将您的网站添加到我们的 网站展示!这只需几秒钟:只需 在此发布评论

我们现在在各个地方都使用 Docusaurus,并且非常喜欢它

Max Lynch
Max LynchIonic 联合创始人兼首席执行官

我们从 1 月份开始使用 V2,它很棒

Supabase
Supabase开源 Firebase 替代方案

对于项目中需要的任何文档,Docusaurus 都非常容易使用。

Gabriel Csapo
Gabriel CsapoLinkedIn 高级软件工程师

Docusaurus 太棒了。我们使用它

Matt Gregg
Matt GreggShopify 高级前端开发人员

2.0 中的新增功能?

很难描述 Docusaurus v2 中的所有新功能。让我们重点关注我们认为 **最有影响力** 的功能。

MDX

MDX 允许您在 Markdown 中 **插入 React 组件**。这使您能够非常轻松地构建顶级的 **交互式文档体验**。

一张图胜过千言万语

docs/my-document.mdx
### Give it a try: press that button!

import ColorModeToggle from '@theme/ColorModeToggle';

<ColorModeToggle/>
http://localhost:3000

试试吧:按下那个按钮!

info

MDX 有自己的 插件系统。您可以自定义 Markdown 编写体验,甚至创建自己的 Markdown 语法。

Docusaurus + MDX 很棒:我们能够实现一个漂亮的双窗格布局,并让作者对代码和相应散文的位置进行细粒度控制。

Hamel Husain
Hamel HusainOuterbounds 的数据科学主管

文件系统约定

我们的目标是使 Docusaurus 非常 **直观** 使用。我们添加了文件系统约定,添加文档页面就像创建 Markdown 文件一样简单。


使用自动生成的侧边栏,创建页面变得非常简单,无需担心任何其他配置。

Paul Armstrong
Paul Armstrong微软首席工程师

插件

Docusaurus 现在拥有一个 **模块化架构**,带有一个插件系统——我们的 **核心功能**,例如文档、博客、页面和搜索,都是由单个插件驱动的。

更重要的是,它使我们的社区能够 **增强 Docusaurus**,添加更多功能。

让我们重点介绍一些示例

redocusaurus plugin example

shiki-twoslash plugin example

插件 API 使用起来非常轻松,而且功能强大,以至于我可以在几个小时内将 TypeScript 网站的代码示例渲染器移植过来。

Orta Therox
Orta Therox前微软 TypeScript 核心团队成员

local search plugin example

提示

我们在 社区资源 页面中提供了一份精选的优秀插件列表。

Docusaurus v2 中的插件系统使扩展 1Password 的开发者门户变得如此轻松和有趣。我们非常兴奋向您展示我们正在准备的东西。

Jody Heavener
Jody Heavener1Password 高级开发者

主题

主题是 Docusaurus 最重要的功能之一:我们认为专业文档网站应该 **尊重您公司的品牌** 并创建一个一致的体验。

Docusaurus 主题在多个层面上提供了很大的 **灵活性**

  • 自定义 CSS 变量以调整颜色、字体等
  • 提供您自己的 CSS 样式表
  • 从头开始实现您自己的主题
  • **覆盖默认主题提供的任何 React 组件**:我们称之为 swizzling

我喜欢 Docusaurus 的 Swizzling 功能。它既有主见又灵活。这非常酷,因为框架通常需要牺牲其中一个才能获得另一个。


Hung Viet Nguyen
Hung Viet NguyenJestPreview 的创建者

这使愿意在 **自定义** 上投入更多时间的用户能够构建与其他网站 **外观不同** 的网站。

到目前为止,效果非常好。它真的非常容易将样式设置为我们想要的样子。没有障碍。

Nader Dabit
Nader DabitWeb3 开发者,开发者 DAO 创始人

其他功能

Docusaurus 2 带有非常长的实用功能列表

  • 主题:暗模式、更好的 UI 和 UX、灵活的 themeConfig 选项...
  • 文档版本控制:灵活的插件选项以适应您的工作流程
  • 文档侧边栏:可折叠类别、类别索引页面...
  • 博客:多个作者、作者地图、归档页面...
  • Markdown:选项卡、数学方程式、实时代码块、链接、灵活的前置 matter...
  • 搜索:使用新的 Algolia DocSearch 3 体验
  • 资产:轻松地将图像和其他类型的文件整合进来
  • 国际化:配置选项、默认主题翻译...
  • 无障碍性:aria 标签、颜色对比度、跳至内容、键盘导航、渐进增强...
  • SEO:明智的默认值、易于自定义、规范 URL、社交卡片、no-index、网站地图、微数据、hreflang...
  • PWA:为您的网站添加离线支持,并使其可安装
  • 快速失败:严格的配置验证、检测损坏的链接,并防止出现错误的生产部署
  • 对配置文件、插件、自定义页面和主题作者的支持
  • 游乐场:使用 docusaurus.new 从您的浏览器轻松评估 Docusaurus
  • 金丝雀发布:使用 @canary npm 标签在任何人之前使用即将发布的版本
  • 测试:Docusaurus 经过良好测试,我们会对功能进行狗食测试,并确保它们继续正常工作

最近,我惊叹于 Docusaurus 开箱即用有多好。非常稳固,一些配置但不会让人不知所措,而且如果比我更勇敢,就可以真正自定义样式。

Alex DeBrie
Alex DeBrieAWS 数据英雄,《DynamoDB 手册》作者

为什么现在是 2.0?

我们许多热情的粉丝都很好奇 **为什么我们花了 4 年时间才发布 Docusaurus 2.0**,考虑到 beta 版已经成功,并且 **在生产环境中被广泛使用**。

原因是我们旨在 **尊重 语义版本控制**,这意味着只要我们发布 **重大更改**,我们就会增加主版本号。

这在很多方面都很重要

  • 它 **保证了简单的次要版本升级**,只要您只使用 公共 API
  • 它遵循前端生态系统约定
  • 新主版本是彻底记录重大更改的机会
  • 新主/次版本是通过博客文章传达新功能的机会

问题是,我们灵活的主题系统本质上创建了一个非常 **隐式的 API 表面**,很难一开始就知道什么是重大更改。高度自定义的 Docusaurus 网站有时很难升级 Docusaurus,因为它们使用内部 API 来实现自定义。我们投入时间进行了广泛的主题重构,并明确定义了我们的 公共 API,以便将来可以更安全地进行代码更改。我们将继续扩展此公共主题 API,以便最常见的站点自定义不需要使用任何内部 API。

info

从现在开始,Docusaurus 将 **更频繁地发布新主版本**。实际上,您可以预期 **每 2 到 4 个月发布一个新主版本**。

主版本号并不神圣,但我们仍然将重大更改分组在一起,并避免过频繁地发布主版本。

查看我们的 发布流程 文档以了解更多详细信息。

下一步是什么?

Slash Up and Running

Docusaurus 3.0 的工作已经开始,这个下一个版本将在几个月内发布。我们将 **在 Docusaurus 2.x 次要版本中回溯兼容更改**,以便尽快通过稳定渠道提供给社区。

Docusaurus 未来主要版本的路线图上的一些功能示例

感谢您

我们要感谢 我们所有贡献者,包括

我们特别感谢所有Docusaurus 2.0 的早期采用者,感谢你们对 alpha、beta 和 canary 版本的评估,并提供了大量宝贵的反馈。我们真诚地希望你们使用 Docusaurus 2.0 有着很棒的体验,并且希望你们能够继续为即将发布的 Docusaurus 3.0 预览版提供反馈。

Meta 开源 中,Docusaurus 是我们最成功的项目之一。我们迫不及待地想看到你们将要创建的所有优秀的文档网站!不要忘记将它们提交到我们的网站展示!

现在,让你的想象力尽情发挥吧 🤪!

— Slash

我们已在 ProductHuntHacker News 上发布!

🙏 与社区分享你使用 Docusaurus 的体验!

Docusaurus 2.0 - Build optimized websites quickly, focus on your content. | Product Hunt

Slash plushies