メインコンテンツにスキップ

Docusaurus 2.0 の発表

·13 分で読めます
Sébastien Lorber
Docusaurus のメンテナー、This Week In React の編集者
Joshua Chen
Docusaurus に全力で取り組んでいます
Yangshun Tay
Meta のフロントエンドエンジニア
Alexey Pyltsyn
オープンソース愛好家
Paul O’Shannessy
Meta のエンジニアリングマネージャー
Joel Marcey
Docusaurus 1 の共同作成者

本日、ついに Docusaurus 2.0 を発表できることを大変嬉しく思います! 🥳️

Meta Open Sourceでは、Docusaurus が最小限の労力最高のドキュメント Web サイトを構築するのに役立ち、本当に重要なことであるコンテンツの作成に集中できると信じています。

4 年間の作業、75 個のアルファ版22 個のベータ版を経て、Docusaurus の次世代版が実用段階に達しました。今後は、セマンティックバージョニングを尊重し、メジャーバージョンをより頻繁にリリースする予定です。

social-card image

ProductHuntHacker News で紹介されています!

こそ、Docusaurus への愛を示す絶好の機会です!

Docusaurus 2.0 - Build optimized websites quickly, focus on your content. | Product Hunt
ヒント

お急ぎですか?Docusaurus 2.0 の新機能をご確認ください!

Docusaurus とは一体何ですか?

Docusaurus は、美しいドキュメント Web サイトすぐに公開するのに役立つ静的サイトジェネレーターです。

コンテンツに集中してください。Markdown ファイルを書くだけです。Docusaurus は、どこにでもホストできる最適化されたWeb サイトを生成します。

Docusaurus はフル機能で非常に柔軟です。洗練されたドキュメントとブログのレイアウト、すぐに使えるバージョン管理、検索、国際化機能が付属しており、アクセシビリティと検索エンジン最適化に配慮しています。柔軟なテーマ設定システムにより、UI をブランドに合わせて調整し、メイン Web サイトやドキュメントポータルにうまく統合できます。React の使用により、モダンなクライアントサイドナビゲーションと、インタラクティブなドキュメントを構築できます。

Introducing Slash

Docusaurus の理念は、パレートの法則に似ています。20% の労力80% の成果を得ることができます。これにより、最小限の労力で一流のドキュメントサイトと競合することができます。

エンジニアリングリソースを備えたドキュメントチームを立ち上げるのでなければ、おそらく Docusaurus が必要でしょう!

Rachel Nabors
Rachel Nabors元 ReactJS および React-Native ドキュメントマネージャー

Docusaurus は最高のドキュメントツールを目指していますが、ブログ、ナレッジベース、開発者ポートフォリオ、セカンドブレイン、またはランディングページの足場としてなど、他のユースケースにも使用できます!

自分の技術ブログに Docusaurus を使用することは素晴らしい選択でした。すぐに使える状態で非常に優れており、素晴らしい DX により、より多く執筆できるようになりました

Johnny Reilly
Johnny ReillyInvestec のグループプリンシパルエンジニア
ヒント

オンラインプレイグラウンド5分間のチュートリアル⏱️で今すぐ Docusaurus をお試しください。

Docusaurus の背後にある物語

Docusaurus は、2017 年Facebook Open Source(現在は Meta Open Source)で作成されました。ドキュメント化する必要のある社内外のプロジェクトがたくさんありました。見栄えの良い Web サイト用の HTML、CSS、JavaScript を作成するのはもちろんのこと、適切なドキュメントを作成するのは十分に複雑です。プロジェクトリーダーがコンテンツに集中できるようにしたかったのですが、Markdown はそのために最適です。

当時、私たちのソリューションは、Jekyll テンプレートを何度もコピー/ペーストすることでした。これは当然保守が困難になったため、自分たちの問題を解決するためのツールを一度に作成しました。

Docusaurus v1 が誕生しました!

Birth of Slash

すぐに Facebook とフロントエンドエコシステムで勢いを増し、PrettierBabelReact-NativeKaTeX、そしてもちろんDocusaurus v1自体など、多くの人気プロジェクトで採用されました。


上記のサンプルサイトは異なる色を使用していますが、見た目はほぼ同じであることに注意してください。

Docusaurus 2.0 に向けて

Docusaurus v1 は非常に成功しましたが、いくつかのアーキテクチャの選択について疑問を持ち始めました。

  • React は、サーバーサイドのテンプレート言語としてのみ使用されており、クライアントでは使用されていませんでした
  • テーマシステムはかなり制限されており、CSS でいくつかの色を変更する以外に、より高度なカスタマイズを行うことは困難でした
  • ドキュメントのバージョン管理システムは、diff アルゴリズムに基づいていたため、混乱を招きました
  • コードベースはモノリシックで、十分にテストされておらず、拡張も簡単ではありませんでした

Docusaurus v2 は、新しいモジュール式アーキテクチャで一から再構築されました

  • React はクライアントでも使用されるようになり、モダンなシングルページアプリケーションナビゲーションが可能になりました
  • プラグインにより、コミュニティはサードパーティパッケージとして便利な機能を提供できるようになります
  • テーマはこれまで以上に柔軟になりました
  • ドキュメントのバージョン管理は、理解しやすいスナップショットコピーに基づくようになりました
  • ドキュメント、ブログ、ページ、バージョン管理、i18n など、v1 の良い点はすべて維持しました
  • いくつかの新機能を実装しました

Docusaurus 2 プロジェクトの発表v1 から v2 への移行ガイドで詳細をご確認ください

Docusaurus 2.0 を使用しているのは誰ですか?

プレリリース中にもかかわらず、Docusaurus v2 は NPM ダウンロード数で Docusaurus v1 をすぐに上回りました

NPM downloads: v2 outgrows v1

GitHub のスターの傾向は非常に肯定的で、主要なフレームワークと競合しています

GitHub stars: Docusaurus is well-positioned

現在、Docusaurus v2 は発売前にもかかわらず、すでに大成功を収めています


ヒント

ぜひあなたのサイトを私たちのサイトショーケースに追加してください!ほんの数秒で完了します。 こちらにコメントを投稿するだけです。

私たちは今ではどこでもDocusaurusを使用しており、気に入っています。

Max Lynch
Max LynchIonic共同創業者兼CEO

1月からV2を使用していますが、とても素晴らしいです。

Supabase
SupabaseオープンソースのFirebase代替

Docusaurusは、プロジェクトのドキュメントに必要なすべてのものが文字通り簡単にできる、ネクストレベルのツールです。

Gabriel Csapo
Gabriel CsapoLinkedInのスタッフソフトウェアエンジニア

Docusaurusは素晴らしいです。私たちはそれを使用しています。

Matt Gregg
Matt GreggShopifyのシニアフロントエンド開発者

2.0の新機能

Docusaurus v2で提供されるすべての新機能を説明することは難しいでしょう。ここでは、最も影響が大きいと私たちが信じている機能に焦点を当てましょう。

MDX

MDXを使用すると、MarkdownにReactコンポーネントを挿入できます。これにより、非常に簡単に最高レベルのインタラクティブなドキュメントエクスペリエンスを構築できます。

デモは千の言葉に値します。

docs/my-document.mdx
### Give it a try: press that button!

import ColorModeToggle from '@theme/ColorModeToggle';

<ColorModeToggle/>
http://localhost:3000

試してみてください:そのボタンを押してください!

情報

MDXには独自のプラグインシステムがあります。これにより、Markdownの作成エクスペリエンスをカスタマイズしたり、独自のMarkdown構文を作成したりできます。

Docusaurus + MDXは素晴らしいです。美しい2ペインレイアウトを実装し、コードと対応する文章の配置を細かく制御することができました。

Hamel Husain
Hamel HusainOuterboundsのデータサイエンス責任者

ファイルシステム規則

私たちの目標は、Docusaurusを非常に直感的に使用できるようにすることです。ファイルシステム規則を追加し、ドキュメントページを追加することは、1つのMarkdownファイルを作成するのと同じくらい簡単になりました。


自動生成されたサイドバーを使用すると、ページを作成するだけで、他の構成について心配する必要がなくなります。

Paul Armstrong
Paul ArmstrongMicrosoftのプリンシパルエンジニア

プラグイン

Docusaurusには、プラグインシステムを備えたモジュール式アーキテクチャが導入されました。ドキュメント、ブログ、ページ、検索などのコア機能はすべて、個別のプラグインによって駆動されます。

さらに重要なことは、コミュニティが追加機能でDocusaurusを強化できるようになったことです。

いくつかの例を挙げましょう。

redocusaurus plugin example

shiki-twoslash plugin example

プラグインAPIは非常に使いやすく、TypeScript Webサイトのサイトからコードサンプルレンダラーを数時間で移植できるほど強力でした。

Orta Therox
Orta TheroxMicrosoftの元TypeScriptコアチーム
  • docusaurus-search-local:組み込みのAlgoliaプラグインに対するさまざまなローカル検索の代替手段の1つ

local search plugin example

ヒント

優れたプラグインの厳選されたリストをコミュニティリソースページに掲載しています。

Docusaurus v2のプラグインシステムにより、1Passwordの開発者ポータルを非常に簡単かつ楽しく拡張できるようになりました。私たちが準備しているものを皆さんにお見せするのが待ちきれません。

Jody Heavener
Jody Heavener1Passwordのシニア開発者

テーマ

テーマは、Docusaurusの最も重要な機能の1つです。私たちは、プロフェッショナルなドキュメントサイトは会社のブランドを尊重し、一貫したエクスペリエンスを作成する必要があると考えています。

Docusaurusのテーマは、複数のレベルで非常に柔軟性があります。

  • CSS変数をカスタマイズして、色、フォントなどを調整します。
  • 独自のCSSスタイルシートを提供します。
  • 独自のテーマをゼロから実装します。
  • デフォルトテーマで提供される任意のReactコンポーネントをオーバーライドします。これをスウィズリングと呼びます。

Docusaurusのスウィズリング機能が気に入っています。意見がはっきりしていて、同時に柔軟です。フレームワークは通常、どちらかを犠牲にする必要があるため、これは非常にクールです。


Hung Viet Nguyen
Hung Viet NguyenJestPreviewの作成者

これにより、カスタマイズに少し時間を費やす意欲のあるユーザーは、他のサイトとは異なる外観のサイトを構築できます。

今のところ、非常にうまく機能しています。私たちが望むようにスタイルを設定するのが非常に簡単でした。一切のブロッカーはありません。

Nader Dabit
Nader DabitWeb3開発者、Developer DAO創設者

その他の機能

Docusaurus 2には、非常に長い便利な機能のリストが付属しています。

  • テーマ:ダークモード、より優れたUIとUX、柔軟なthemeConfigオプション...
  • ドキュメントのバージョン管理:ワークフローに適応するための柔軟なプラグインオプション
  • ドキュメントサイドバー:折りたたみ可能なカテゴリ、カテゴリインデックスページ...
  • ブログ:複数の著者、著者マップ、アーカイブページ...
  • Markdown:タブ、数式、ライブコードブロック、リンク、柔軟なフロントマター...
  • 検索:新しいAlgolia DocSearch 3エクスペリエンスを使用します。
  • アセット:画像やその他の種類のファイルを簡単に組み込むことができます。
  • 国際化:構成オプション、デフォルトテーマの翻訳...
  • アクセシビリティ:ariaラベル、色のコントラスト、コンテンツへのスキップ、キーボードナビゲーション、プログレッシブエンハンスメント...
  • SEO:適切なデフォルト、カスタマイズが簡単、正規URL、ソーシャルカード、no-index、サイトマップ、マイクロデータ、hreflang...
  • PWA:サイトにオフラインサポートを追加し、インストール可能にします。
  • フェイルファスト:厳密な構成検証、壊れたリンクの検出、不適切な本番環境デプロイメントの防止
  • 構成ファイル、プラグイン、カスタムページ、テーマ作成者に対するTypeScriptサポート
  • プレイグラウンド:docusaurus.newを使用して、ブラウザからDocusaurusを簡単に評価できます。
  • カナリアリリース:@canary npmタグを使用して、他の誰よりも早く今後のリリースを使用します。
  • テスト:Docusaurusは十分にテストされており、機能をドッグフーディングして、それらが引き続き機能するようにします。

最近、Docusaurusがすぐに使えるほど優れていることに衝撃を受けました。非常にしっかりしていて、圧倒的ではない程度の構成と、私よりも勇敢な場合は、スタイリングを実際にカスタマイズする機能があります。

Alex DeBrie
Alex DeBrieAWSデータヒーロー、「The DynamoDB Book」の著者

なぜ今2.0なのか?

私たちの熱心なフォロワーの多くは、ベータ版がすでに成功し、本番環境で広く使用されていることを考えると、Docusaurus 2.0のリリースに4年かかったのはなぜかと疑問に思っています。

その理由は、セマンティックバージョニングを尊重することを目指しているからです。これは、破壊的な変更をリリースするたびにメジャーバージョン番号をインクリメントすることを意味します。

これには、いくつかの理由で重要です。

  • パブリックAPIのみを使用している限り、簡単なマイナーバージョンアップグレードを保証します。
  • フロントエンドエコシステムの規則に従います。
  • 新しいメジャーバージョンは、破壊的な変更を徹底的に文書化する機会です。
  • 新しいメジャー/マイナーバージョンは、ブログ記事を通じて新機能を伝達する機会です。

問題は、柔軟なテーマシステムが、そもそも破壊的な変更が何であるかを知ることが難しい、非常に暗黙的なAPIサーフェスを作成することです。高度にカスタマイズされたDocusaurusサイトは、内部APIを使用してカスタマイズを実現しているため、Docusaurusのアップグレードに苦労する場合があります。今後のコード変更をより安全に行うことができるように、テーマの大幅なリファクタリングと、パブリックAPIの明確な定義に時間を費やしました。最も一般的なサイトのカスタマイズで内部APIを使用する必要がないように、このパブリックテーマAPIを今後も拡張していきます。

情報

今後は、Docusaurusは新しいメジャーバージョンをより頻繁にリリースします。実際には、2〜4か月ごとに新しいメジャーバージョンがリリースされると予想されます。

メジャーバージョン番号は神聖なものではありませんが、それでも破壊的な変更をまとめて、メジャーバージョンを頻繁にリリースすることは避けます。

詳細については、リリースプロセスのドキュメントを確認してください。

次は何ですか?

Slash Up and Running

Docusaurus 3.0の作業は開始されており、この次のバージョンは数か月以内にリリースされます。 安定したチャネルでコミュニティにできるだけ早く利用できるようにするために、Docusaurus 2.xマイナーバージョンで後方互換性のある変更をバックポートします。

今後のDocusaurusのメジャーバージョンにおけるロードマップ上の機能の例

感謝

すべての貢献者に感謝の意を表します。以下の方々を含みます。

特に、Docusaurus 2.0の早期導入者の方々には、アルファ版、ベータ版、カナリア版を評価していただき、多くの貴重なフィードバックをいただきました。本当にありがとうございました。素晴らしい体験をしていただけたことを心から願っており、今後のDocusaurus 3.0のプレリリースについても引き続きフィードバックを提供していただけると幸いです。

Meta Open Sourceにおいて、Docusaurusは最も成功しているプロジェクトの1つです。皆様が作成する素晴らしいドキュメンテーションWebサイトを見るのが楽しみです!サイトショーケースに投稿することを忘れないでください!

さあ、想像力を自由に羽ばたかせてください 🤪!

— Slash

ProductHuntHacker News で紹介されています!

🙏 Docusaurusの使用経験をコミュニティと共有してください!

Docusaurus 2.0 - Build optimized websites quickly, focus on your content. | Product Hunt

Slash plushies