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 替代方案。那么,您觉得新网站用起来舒服吗?您在旧网站上喜欢的任何东西在新网站上丢失了吗?
这里有一些链接可以帮助您
非常感谢您分享的任何建设性的正面或负面评论!