经过数月的紧张工作,终于迎来了这一天:MDN Web Docs 的新平台(代号为 Yari)终于发布了!
从 11 月 2 日到 12 月 14 日,我们进行了一个 Beta 测试阶段,在这个阶段中,许多热心的社区成员测试了新平台,提交了内容更改,让我们尝试了新的贡献工作流程,并对平台和样式提出了改进建议。对所有人的辛勤付出,我们表示衷心的感谢。
这篇文章旨在提供有关我们目前所处阶段、未来目标以及您可以如何帮助的更新。
我们目前所处阶段
我们在短时间内构建了一个完善的系统,它在很大程度上改进了之前的平台,并解决了许多实际问题。当然,还有很多工作要做,但这个新版本提供了一个稳定的基础来进行迭代,您将在未来几个月看到许多进一步的改进。以下是我们目前所处阶段的概览。
在 GitHub 上进行贡献
新平台最显著的区别在于我们已经将内容从 SQL 数据库分散到 git 存储库中的文件。要编辑内容,您现在需要针对 https://github.com/mdn/content 存储库提交拉取请求,而不是使用旧的 WYSIWYG 编辑器编辑 wiki。
这在贡献工作流程方面具有巨大优势 - 由于它是一个 GitHub 存储库,您可以根据自己的喜好将其插入到工作流程中,批量更改更易于以编程方式进行,并且您可以将对多个页面的编辑合并到单个拉取请求中,而不是将其分散为独立的编辑,并且我们可以对编辑应用智能的自动 linting,从而加快工作速度。
内容存储库最初带有一些基本的 CLI 工具,可以帮助您完成基本任务,例如 yarn start
(创建文档在 MDN 上渲染后的实时预览)、yarn content create
(添加新页面)、yarn content move
(移动现有页面)等。您可以在 存储库的 README 文件 中找到有关这些工具以及其他贡献说明的更多详细信息。
关注社区
社区互动不仅会得到改善,而且会发生改变。您现在可以在最终确定并提交拉取请求之前就对其进行更改,提出建议并进行迭代,而不必担心第一次就要做到完美。
我们认为,这种模式将让贡献者对进行更改更有信心,并让我们能够与社区建立更好的关系,帮助他们改进自己的贡献。
减轻开发者负担
这次更新还大大减轻了我们的开发人员维护负担。现有的(Kuma)平台很复杂,难以维护,添加新功能非常困难。这次更新将大大简化平台代码 - 我们估计可以删除现有的代码库中的大部分代码,这意味着更容易进行维护和贡献。
这同样适用于我们的前端架构:现有的 MDN 平台存在许多前端不一致和可访问性问题,我们一直希望解决这些问题。迁移到一个新的、简化的平台为我们提供了一个绝佳的机会来解决这些问题。
我们接下来的工作
在未来,我们可以采取许多措施来进一步改进新平台。例如,上周我们已经讨论了关于 MDN l10n 未来计划 的内容。
明年我们将首先解决新平台中的问题。之后,我们可以开始比以前更好地服务我们的读者和贡献者,更快、更自信地实施新功能,这将导致 MDN 变得更加有用,并拥有更强大的贡献模式。
以下部分并非最终确定,但它们确实提供了一个关于我们对平台的未来计划的有用想法。我们计划在未来发布一个公开路线图,以便您可以了解我们的进展情况并提出建议。
迁移到 Markdown
在发布时,内容以 HTML 格式存储。这没什么问题 - 我们都了解一些 HTML - 但它并非最方便的编辑和编写格式,尤其是当您要从头开始创建一个较大的新页面时。大多数人发现 Markdown 比 HTML 更易于编写,因此我们希望最终将核心内容存储在 Markdown(或其他格式)中,而不是 HTML 中。
改进搜索
长期以来,MDN 的搜索功能一直不尽如人意。展望未来,我们不仅希望升级搜索功能以返回有用的结果,而且还希望更有效地进行搜索,例如模糊搜索、按流行度搜索、按标题搜索、摘要搜索、全文搜索等等。
表示 MDN 元页面
目前,我们的新内容存储库中只包含 MDN 内容页面。我们希望最终停止使用旧的首页、个人资料和搜索页面(它们目前仍由我们旧的基于 Django 的平台提供服务),并将它们带入新平台,以利用新平台带来的所有优势。
还有更多!
我们还想开始探索:
- 优化文件附件
- 在 MDN 上实施和强制执行 CSP
- 对所有代码片段进行自动 linting 和格式化
- 逐步删除 MDN 内容中剩余的旧式 KumaScript 宏,根据需要删除、渲染或替换它们。例如,链接宏可以被简单地渲染出来,因为标准的 HTML 链接可以正常工作,而我们拥有的所有侧边栏宏都应该被内置于实际平台中的适当的侧边栏系统所取代。
您可以如何帮助
如您从上述下一步中看到的,还有很多工作要做,我们希望社区能够帮助我们进行未来的 MDN 内容和平台工作。
- 如果您更感兴趣的是帮助进行内容工作,您可以在 参与 MDN 贡献 中找到帮助方法。
- 如果您更感兴趣的是帮助进行 MDN 平台开发,最好的学习起点是 Yari README。
- 至于寻找一个讨论 MDN 的良好通用场所,您可以加入 MDN Web Docs 聊天室 的讨论,该聊天室位于 Matrix 上。
关于 Chris Mills
Chris Mills 是 Mozilla 的高级技术作家,负责编写有关开放式 Web 应用程序、HTML/CSS/JavaScript、A11y、WebAssembly 等的文档和演示。他喜欢摆弄 Web 技术,并偶尔在会议和大学发表技术演讲。他曾为 Opera 和 W3C 工作,喜欢演奏重金属鼓和喝好啤酒。他与他的夫人和三个可爱的儿女居住在英国曼彻斯特附近。
10 条评论