ちょうど今から 5 年前の 2020/12/14 に Yari への移行が発表されたということで、MDN の環境について書いてみます。
歴史を古い方から辿ることに興味がない人もいるかもしれないので、先に、最新の環境を紹介すると、現在は Yari から Rari(Rust によるバックエンド) と Fred(JavaScript と CSS によるフロントエンド)という環境になっています。
Rari に関してはドキュメントが整理されておらず、Rust 製ということ以外は、今後大きく変わる可能性もあります。テンプレート関連の修正時に必要となる可能性が高いですが、まだ触ったことはありません。
Fred については、以下に紹介記事があります。ローカライズできる部分があり、少しソースを見たことがあります。
以下は、古い順(20年前から)です。以下のページを元に私が知っていることを書いていきます。
DevMo 時代
この頃はコントリビュートしていなかったのでよくわかりません。DevMo、DevEdge と呼ばれたドキュメントサイトが今の MDN の大元になっています。
MediaWiki 時代
最初の頃は貢献していませんが、私が貢献し始めたのはこの頃です。(その当時の)Wikipedia と同じテンプレートシステム、言語間リンクが動いていました。シンプルだったので、Wiki というものに抵抗がなければ、貢献し易かったと思います。
DekiWiki 時代
Mozilla ではない、MindTouch 社によって作られた Wiki システムです。DekiScript というものが使え、MediaWiki のテンプレートはこちらに移行しています。
Kuma 時代
ここからは Mozilla 内製のシステムで運用されることになります。
Django を使ったシステムで、DekiScript は KumaScript となりました。
ここまでが Wiki システムとなっており、アカウントを登録すれば、レビューを待つことなく、自由に編集が行えました。
Yari 時代
React を使った Jamstack なシステムです。markdown が導入され、GitHub での Pu1l Request をレビュアーがレビューしてマージするというシステムに大きく変わりました。
テンプレート関連はドキュメントと違って、Yari リポジトリーの一部なので、Yari リポジトリーへ Pull Request を出す必要がありました。
まとめ
テンプレートについてずっと書いていますが、システムの移行毎に大きく影響を受けるのがこの部分で、マイグレーションが行われる一方で、上手くマイグレーションしきれなかったエラーとの戦いが印象に残っているからです。
ドキュメントにとってリファレンス内リンクや様々なノート(注記)が無くなることはないので、それらを上手く活用するというのは翻訳とは少し離れた作業になりますが、複数のドキュメントの連携、共通性を持たせることは大事なので、これからも関わっていくことになるだろうなと思います。