编辑注:变更日志 是“一个记录项目所有重大变更的日志或记录。[它] 通常包含诸如错误修复、新功能等变更记录”。发布变更日志是开源界的一种传统,也是 Web 上的一种长期实践。我们认为 Hacks 的读者以及使用和贡献 MDN Web 文档 的人员会对了解更多关于 MDN 工程团队的工作及其在特定月份的影响感兴趣。我们还会介绍代码贡献机会、有趣项目以及参与的新方法。
6 月份完成的工作
以下是 6 月份对支持 MDN Web 文档 的 代码、数据和工具 进行的变更。
- 发布了 100 多个 HTML 交互式示例
- 发布了 Django 1.11
- 发布了调整和修复,通过合并 252 个拉取请求,其中包括来自 26 位新贡献者的 32 个拉取请求。
以下是 7 月份的计划
发布了 100 多个 HTML 交互式示例
在 6 月份,我们发布了 100 多个 HTML 交互式示例,为我们的 HTML 元素文档添加了快速参考和游乐场。
Schalk Neethling 修复了剩余的阻碍,例如将 output
类应用为样式目标 (PR 961),以及添加一些额外的尺寸选项 (PR 962)。 wbamberg 编写了将这些示例添加到 MDN 的说明,并且 SphinxKnight 和 Irene Smith 在不到 24 小时内帮助部署了它们。MDN 访问者可以使用 JS、CSS 和 HTML 参考页面上的有趣且信息丰富的示例。
Irene Smith 于 6 月份加入了 MDN 作者团队,担任 Firefox 开发人员内容经理。她立即投入工作,包括帮助完成这个项目。欢迎加入团队,Irene!
发布了 Django 1.11
我们在 6 月 6 日部署了 Django 1.11。对于 MDN 访问者来说,没有明显的变化,但也没有错误。有时,如果工程项目只是回到了起点,那么它就是成功的。
我们在开发环境中完成了大部分 准备工作。在 6 月 1 日,我们将 Django 1.11 部署到我们的预发布环境 (PR 4830)。这暴露了一些问题,这些问题很快就被修复了,例如日志记录配置 (PR 4831) 和客户端翻译目录 (PR 4831)。在类似生产环境的预发布环境中的测试确保了在 MDN 访问者看到它们之前修复了最后的错误。
我们正在展望下一个框架更新。Django 1.11 是最后一个支持 Python 2.7 的版本,因此我们需要切换到 Python 3.6。我们已经添加了一个 Python 3 构建到 TravisCI,并且会随着时间的推移逐步提高兼容性 (PR 4848)。 Anthony Maton 在 Mozilla 全体会议上开始了 Python 3 的更改,更新了测试以预期随机字典顺序,这是 Python 3.3 中启用的一个安全功能 (PR 4851)。我们预计会有更多更改,并且计划在今年年底之前使用 Django 1.11 切换到 Python 3。
下一个 Django 长期支持 (LTS) 版本将是 2.2,计划于 2019 年 4 月发布。这项工作将类似于上次升级,更新代码以兼容 Django 1.11 到 2.2。 Ryan Johnson 通过转换为 新式中间件 开始了这个过程,这是 2.0 中的要求 (PR 4841)。我们计划在 2019 年 6 月之前顺利切换到 Django 2.2。
发布了调整和修复
6 月份合并了 252 个 PR
- 133 个 mdn/browser-compat-data PR
- 45 个 mdn/interactive-examples PR
- 39 个 mozilla/kuma PR
- 12 个 mdn/kumascript PR
- 10 个 mdn/bob PR
- 7 个 mdn/infra PR
- 4 个 mdn/data PR
- 1 个 mdn/learning-area PR
- 1 个 mdn/webextensions-examples PR
其中 32 个来自首次贡献者
- 修复 Chrome 中
let
的兼容性数据 (BCD PR 1632),来自 zx。 - 更新 Function.json (BCD PR 1988),来自 Jack Giffin。
- 添加
Window
子功能(从 A 到 F)的兼容性数据 (BCD PR 2109),来自 Keshav Mesta。 - 添加 CSS 类型
timing-function
的兼容性数据 (BCD PR 2183),来自 Pavel。 - 更新
replaceTrack
API 支持版本 (BCD PR 2205),来自 Xin。 - 添加对指数运算符
**
的 Safari 兼容性 (PR 2212),来自 schlagi123(对 BCD 的首次贡献)。 - Chrome 支持
aspect-ratio
(BCD PR 2224),来自 Filip Chalupa。 - 更新 Edge 17 ParentNode/ChildNode API 支持 (PR 2280),来自 Jonathan Neal(对 BCD 的首次贡献)。
- 添加对
navigator.sendBeacon
的 Safari 兼容性 (BCD PR 2281),来自 Eran Shabi。 - 添加 Edge/Safari 的
Response
.{error
,redirect
} (BCD PR 2285),来自 James Browning。 - 更新
HTMLMediaElement.captureStream()
的兼容性 (BCD PR 2295),来自 Jakub Knoz。 - 为
javascript.builtins.Promise.Promise
添加描述 (PR 2303),来自 kenju(对 BCD 的首次贡献)。 - 更新 Edge 的 NodeList apis (BCD PR 2325),来自 Richard Eames。
- 更新
grammar.json
(PR 2328),以及更新TypedArray.json
(PR 2331),到 BCD,来自 Peppesterest。 - 添加
externally_connectable
(BCD PR 2329),来自 Anatoli Babenia。 - 添加关于 Edge 中
Path2D
构造函数的部分支持的说明 (BCD PR 2343),来自 hn3000。 - 为
tab_background_separator
(PR 2349) 和isPointInStroke
(PR 2375) 添加了支持信息,到 BCD,来自 Irene Smith。 - Safari 现在对
FormData
的支持更多了 (PR 2376),来自 Jimmy Wärting(对 BCD 的首次贡献)。 - 更正了“预期输出”错误 (交互式示例 PR 1000),来自 Arkangus。
- 为提供的地址添加名称 (交互式示例 PR 1004),来自 Robert Katzki。
- 更新
SeeCompatTable
的德语本地化 (KumaScript PR 719),来自 Metaa。 - 将已弃用的
cache_behavior
替换为ordered_cache_behavior
(PR 3),将行为从*/users/*
更改为users/*
(PR 5),以及 来自 Ryan Johnson 的另外 3 个 PR(对 infra 的首次贡献)。 - MDN infra terraform 重构 (infra PR 4),来自 Ed Lim。
syntaxes.json
:<'border-radius'>
而不是<border-radius>
(Data PR 246),来自 abaco。- 句子末尾缺少括号 (learning-area PR 75),来自 Jerson Zúñiga。
- 删除了 URL 中导致匹配错误的换行符 (webextensions-examples PR 360),来自 Nicholas Hansen。
其他重要的 PR
- 将
HTMLSelectElement
从 wiki 迁移 (BCD PR 1406),来自 SphinxKnight,这是 3 月份 Hack on MDN 活动中合并的 11 个 PR 之一。还有 27 个待合并! - 添加对 input-password 的兼容性数据 (BCD PR 2235),来自 Mark Boas,这是
<input>
数据迁移中的众多 PR 之一。 - 使用 mdn/infra 而不是 mozmeao/infra (Kuma PR 4840),来自 Ryan Johnson。
- 从测试中删除
ok_()
(Kuma PR 4865),来自 Anthony Maton。 - 修复 CurrentGecko 宏 (KumaScript PR 720),来自 Ryan Johnson。
7 月份的计划
7 月份是今年下半年的开始,团队正在思考到今年年底可以做些什么。我们计划在今年完成兼容性数据迁移,并将交互式示例扩展到另一个文档部分。
停用区域
区域是维基引擎的一项功能,它将一棵页面树移动到不同的 URL,并为这些页面应用额外的 CSS。区域还会增加每个请求的复杂性,需要额外的测试,并且是错误和翻译问题的常见来源。在 MDN 团队中,区域的反对者比支持者更多。
我们已经弃用区域几年了。我们不再使用新的区域作为设计工具。在去年的网站重新设计中,我们弱化了区域和“标准”维基内容之间的样式差异 (PR 4348)。在将 MDN 迁移到新的数据中心时,我们添加了一个重定向框架,它可以优雅地处理自定义 URL。我们已准备好进行最后一步。
在 Mozilla 全体员工大会上,Ryan Johnson 和 wbamberg 准备删除区域。这项工作花费了整整一周的时间。在引擎方面,自定义 URL 需要重定向到标准维基 URL,并且需要保留一些区域样式 (PR 4853)。区域侧边栏需要重新实现为 KumaScript 侧边栏,以及翻译 (PR 711)。最后,需要更改内容,以添加 KumaScript 侧边栏并使用标准维基 CSS。虽然这些更改很大,但其效果很微妙。
经过一周的工作,我们审查和完善了代码,仔细检查了更改,并澄清了计划。我们将在七月发布代码,更新内容,并删除区域。
专注于性能
我们将在七月完成 MDN 的性能审核。我们选择了一些我们想跟踪的关键性能指标,主要指标是 CSS、JS 和 HTML 参考页面上的交互式示例准备需要多长时间。 Schalk Neethling 正在使用PerformanceTiming API 实现计时测量 (IE PR 967,Kuma PR 4854,以及其他),以便这些测量结果可以在浏览器工具中使用。我们还跟踪 Google Analytics 中的计时,以从 MDN 的全球受众那里获取真实用户指标,除非用户已请求不要跟踪他们。
我们发现了一些性能瓶颈,并且正在优先考虑它们以选择快速获胜和高影响力更改。我们将在七月及以后发布改进。
关于 John Whitlock
John 是一位网络开发人员,负责 MDN Web Docs 的引擎。