自 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 開發者社區]。