自 ry 宣布在 Deno 两周年的 2020 年 5 月 13 日发布首个 Deno 1.0 正式版后,Deno 再一次受到了开发者们的关注。java
上周我也组织了一些对 Deno 感兴趣的志愿者,争取为 Deno 生态添砖加瓦。第一件事就是翻译中文 API 手册。node
通过志愿者们的努力 3 天时间就翻译完了 80% 的文档,当时的最新版是 Deno v0.40。依据惯例每周五 Deno 都会发布一个小版本,终于咱们仍是迎来了 Deno 的更新,而如何维护中文文档和英文文档的同步更新的问题也摆在了咱们面前。git
我先是建立了deno_api_diff项目,经过 GitHub 自带的 diff 视图功能维护.d.ts
版本之间的变动:github
但这种方式依然有很大问题,经过最后一列的 Stats 能够看出来,每次 Deno 版本升级后,.d.ts
文件的变动 少则几百行,多则上千行。api
最终通过社区的讨论咱们决定保留英文原文,并经过自定义 tag 的方式作中文翻译,经过修改 typedoc 的默认主题还能够实现中英文对照的功能。spa
因而我开发了 typedoc-deno-theme 主题来显示逐行的中英文对照。另外还开发了 typedoc-plugin-deno 来解析自定义 tag。咱们使用的自定义 tag 有:@i18n
、@param_i18n
、@return_i18n
等。插件
因为是第一次写 typedoc 插件和主题,再加之 typedoc 的文档和文章太匮乏,因而我通读了 src/lib/converter 目录里面的上千行代码,最终完成了对这些自定义 tag 的解析和显示。效果以下:翻译
目前typedoc-plugin-deno是一个经过插件,可是typedoc-deno-theme则是一个专门为 Deno 中文文档开发的主题。之后我会开发一个更加通用的支持双语对照的插件和主题,可用于任何基于 typedoc 的双语文档。code
距离 Deno 的首个正式版愈来愈近了,我会在这个五一假期完全重构vscode-deno扩展。若是你对 vscode 扩展开发比较熟悉,或者想参与进来,能够与我一块儿开发这个扩展。blog
若是你对 Deno 感兴趣能够关注专栏[Deno 开发者社区]。