MozillaのWebドキュメント用多言語リソースであるMozilla Developer Network (MDN) は、最近、MDN Web Docsの新しいプラットフォームであるYariを立ち上げた。Yariは、MDNの開発、保守、および寄稿の負担を軽減する。MDNコンテンツはGitHubに保存され、プルリクエストを介して提供できるようになった。
Chris Mills氏はブログ投稿で説明した:
かなり長い間、MDN開発者チームは根本的なプラットフォームの変更を計画してきました […]。つまり、プラットフォームを更新して、コンテンツをMySQLデータベースからGitHubリポジトリでホストされるように移動します。
新しいJAMStackアプローチは、MDNの読み込み (MDNのトラフィックの99%) をMDNの寄稿から分離する。プレレンダリングされたMDNコンテンツは、より適切にキャッシュされ、より迅速にアクセスできる。GitHubはコンテンツ管理システム (CMS) として使用され、Wikiプラットフォームからの大量のコードを置き換えるため、メンテナンスの必要がなくなる。新しいプラットフォームは、Yari開発者もよりアジャイルだ。Yariチームの詳細:
たとえば、コンテンツのプルリクエストごとに自動リントとテストを実行できます。これにより、品質とセキュリティをより適切にコントロールできます。
この寄稿ワークフローには、次のような大きな利点がある:
サイトに事後に変更を元に戻す必要があったスパムコンテンツが存在しなくなりました。また、MDNコンテンツを自分に最も適した方法 (お気に入りのIDEまたはコードエディター) で自由に編集できます。また、MDNドキュメントを好みのツールチェーンに追加できます (MDN編集エクスペリエンスを変更するための独自のツールを作成できます)。
[…]
また、たとえばCIプロセスの一部としてレビュープロセスを強化できる強力なツールセットも検討しています。スパムPRを自動的に検出して閉じ、前述のように、編集後にページをリントし、エディターにフィードバックを提供します。 […] GitHubリポジトリにMDNを含めると、一括編集もはるかに簡単になります。包括的コンテンツの変更は、以前は非常に困難でした。
寄稿者は、より長いフィードバック時間に直面するかもしれない。以前のプラットフォームでは、寄稿者がページで Edit をクリックし、変更を加えて保存すると、ほぼすぐにページに表示された。寄稿者はGitHub UIの 編集 機能を使用してプルリクエスト (PR) を送信する、別のGitHub GUIツール (GitHub Desktopなど) を使用する、またはgit CLIツールを使用することができる。YariチームはMarkdownへの切り替えを計画しているが、寄稿者はドキュメントを更新するために生のHTMLを編集する必要がある。
MDNコンテンツはGitHubリポジトリの https://github.com/mdn/content に保存されるようになった。コンテンツは、index.html
ファイルに実際のドキュメントコンテンツを含んだフォルダにより階層的に編成される。ドキュメントアーキテクチャは、MDNサイトアーキテクチャを反映している。https://developer.mozilla.org/en-US/docs/Web/API/CSSAnimation のMDNページのコンテンツは、https://github.com/mdn/content/blob/main/files/en-us/web/api/cssanimation/index.html に保存されている。コンテンツは、ドキュメントに関するメタ情報を含むYAMLヘッダで始まり、その後に読者に表示される実際のコンテンツが続く:
---
title: CSSAnimation
slug: Web/API/CSSAnimation
tags:
- API
- Animation
- CSSAnimation
- Interface
- Reference
Yariはまた、より一貫性とアクセシビリティを提供する。MDNは、コードネーム Fiori と呼ぶ新しいデザインシステムと、MDNベースのスタイリングを強化するコアアトムの小さなセットである MDN-Minimalist を作成した。
さらに、GitHubプルリクエストを使用すると、以前の寄稿者が通過したかどうかを知らなくても変更を加えることができ、目に見えるフィードバックを提供できる。GitHub PRは、コンテンツ変更の提案に関するディスカッションスペースとして機能するだろう。
以前のMDNプラットフォームは、ReactサーバサイドレンダリングとKubernetesクラスタを使用して、5分のキャッシュ期間のCDNを介してMDN読者と寄稿者の両方にサービスを提供していた:
(出典: MDN blog post)
新しいプラットフォームは、Amazon S3に毎日デプロイされるMDNコンテンツをプレレンダリングする。読者は、キャッシュ期間がはるかに長いCDNを介してページが提供される:
2019年からの再設計でjQueryを置き換えた前のReactスタックは、一部の開発者から批判されていた。一部の開発者は、MozillaがWeb標準の推進において果たす役割を考えると、サイトの新しいバージョンは、非標準のフレームワークを使用するのではなく、Web標準を活用する必要があるとコメントした。他の人は、コンテンツはほとんど静的であり、JavaScriptフレームワークは必要ないと述べた。
Yariチームは、MDNコンテンツをHTMLからMarkdownに変更し、検索機能を改善し、国際化のステータスを改善することを計画している。MDNからの投資撤退を含むMozillaの最近の再構築に続いて、新しいプラットフォームはコミュニティによるMDNの継続的な開発に役立つ。Mills氏は、コミュニティの支援は大歓迎だと強調した:
コミュニティが将来のMDNコンテンツとプラットフォームの作業を支援してくれることを願っています。
- コンテンツの作業を支援することにもっと興味がある場合は、MDNへの寄稿で支援する方法を見つけることができます
- MDNプラットフォームの開発を支援することにもっと興味がある場合は、どこから始めればよいかを学ぶのに最適な場所はYariのREADMEです
- MDNについてチャットするのに適した一般的な場所を見つけるという点では、MatrixのMDN Web Docsチャットルームのディスカッションに参加できます
MDNはNetscape DevEdgeドキュメントとして始まり、Mozilla Developer Center (MDC) になり、2010年にMozilla Developer Networkと呼ばれるようになった。