RabbitMQ 3.13.0 新网站
几周以来,我们一直在为 RabbitMQ 开发新网站。我们计划在 RabbitMQ 3.13.0 发布后不久推出这次重要的升级!此时,我们非常希望您能 访问新网站 并告诉我们您的想法 :-)
在这篇博文中,我将介绍我们这样做的原因以及它将为您带来的改进。
当前网站的局限性
仅提供最新版 RabbitMQ 的文档
在撰写本文时,www.rabbitmq.com 网站包含了 RabbitMQ 服务器和部分 AMQP 客户端的文档,并提供了 RabbitMQ 入门教程。
该文档仅涵盖 RabbitMQ 的最新版本,目前是 3.12.x。到目前为止,这尚可接受,因为新的发行系列通常伴随着新的功能。然而,随着即将发布的 RabbitMQ 4.0.x,大量已弃用的功能将被移除!如果我们继续沿用现有的模式,意味着这些被移除功能的文档也将随之消失。这对于仍需在一段时间内运行 RabbitMQ 3.12.x 的用户来说是一个真正的问题。
这是我们希望升级网站的首要且主要原因:我们希望文档能够涵盖 RabbitMQ 的多个版本:旧版本、当前版本以及即将发布的版本。
我们过去曾通过对网站进行快照并发布到其他地方(如 previous.rabbitmq.com)来处理此问题。但由于 Git 存储库/工作流程以及自研框架的限制,这操作起来并不容易,这也是我们停止维护旧版本快照的原因。如果工作流程和工具能够轻松支持维护多个版本,并将它们全部发布到 www.rabbitmq.com,且方便用户切换到他们正在运行的任何版本,那么我们会做得更好。
这引出了此次重大升级的第二个原因。
自研框架
该网站是静态生成的,并发布到 Cloudflare Worker 上。我们使用的静态生成器是 RabbitMQ 团队十年前开发的,自那以后几乎没有进行过演进。
构建或维护网站框架绝非投入精力的最佳方式。RabbitMQ 本身还有大量工作要做 :-) 因此,我们没有在原框架上添加多版本支持,而是考察了一些现有的 FOSS(免费开源软件)静态网站生成器,并评估了其中的几款。
我们选择了 Docusaurus。它支持多版本(我们的首要标准),并且使用 Markdown 作为标记语言,因此我们无需重写任何内容,这将使迁移工作变得更加容易。
“这对我有什么好处?”
通过使用 Docusaurus,我们 RabbitMQ 团队的工作变得更轻松了,耶 \o/ 但你可能会问:“对你有什么好处吗?”
多版本文档
当然,你将能够阅读 RabbitMQ 过去版本、当前版本,甚至是在开发中的未来版本的文档。
最初,它仅涵盖 RabbitMQ 3.13.x,因为我们尚未将之前的版本转换为 Docusaurus。RabbitMQ 3.12.x 的文档快照将发布在 previous.rabbitmq.com 上。
我们计划在新网站上保留所有受支持的 RabbitMQ 版本文档。当一个旧的发行系列达到生命周期终点时,其文档也将迁移到 previous.rabbitmq.com。这是为了避免版本下拉菜单过于拥挤,或者搜索功能返回太多不相关的结果。
说到搜索……
集成搜索功能
Docusaurus 集成了多种解决方案以提供内部搜索功能。我们选择了 Algolia,因为它非常高效,并且能很好地支持多版本功能。
整个网站,包括博客,都将被索引并支持搜索。在上面的例子中,我搜索了“MQTT”,Algolia 在结果中同时返回了博客文章和文档页面。
然而,截图中的一个隐蔽细节是:它仅返回我当前浏览版本下的文档!因此,如果我在版本下拉菜单中选择了假设的 RabbitMQ 5.2.x,我将只会得到与该版本相关的结果。
集成博客
如上所述,Docusaurus 提供了内置博客。我们将切换到该博客,并停止使用 blog.rabbitmq.com。这样一来,所有与 RabbitMQ 相关的内容都将集中在一个地方。
- 你将能更轻松地浏览博客文章和文档,并在两者之间切换。
- 如前所述,内部搜索将同时考虑文档和博客文章。
- 对于内容创作者来说,在博客文章和文档之间进行交叉引用也会变得更加容易。
移动版和深色模式
由于 Docusaurus 比我们的自研框架稍微现代一些,新网站在小屏幕和移动设备上应该可以舒适地浏览。
它还自带深色模式!
结论
我们对转向 Docusaurus 以及新网站将为你带来的所有便利感到非常兴奋!除了转换到新框架外,我们还计划对内容本身进行许多改进!比如……不,还是等我们有了成果,在未来新网站的博客文章中再讨论吧 :-)

同时,我们非常期待你的反馈!我们知道转换后还存在一些粗糙之处,有些部分我们无法轻松转换为 Docusaurus 的替代方案。那么,你觉得新网站使用起来舒适吗?有什么在旧网站上你喜欢的功能现在丢失了吗?
这里有几个链接可以帮助你提供反馈:
非常感谢你分享的任何建设性意见(无论是正面还是负面)!


