メインコンテンツまでスキップ

Docusaurusで静的サイトを構築する - セットアップからコンテンツ作成まで

· 約5分
Shinya Kato
DayoneLabs管理人、ソフトウェア開発者、OSS開発者

Docusaurusで静的サイトを構築する - セットアップからコンテンツ作成まで

どうも、Shinyaです。この記事では、Docusaurusを使用して静的サイトを構築する手順について解説します。プロジェクトの作成から開発サーバーの起動、ドキュメントの追加までを扱います。

この記事はこんな人にオススメ
  • Docusaurusで静的サイトを構築したい人
  • ドキュメントサイトやブログを作成したい人
  • React/TypeScriptベースの静的サイトジェネレーターを探している人
  • Markdownでコンテンツを管理したい人

Docusaurusとは

Docusaurusは、Metaが開発・メンテナンスしているオープンソースの静的サイトジェネレーターです。Markdown/MDXでコンテンツを記述でき、Reactベースのカスタマイズが可能です。ドキュメントサイトやブログの構築に適しています。

ソースコードはGitHubで公開されています。

Docusaurusの主な特徴

特徴説明
Markdown/MDX対応コンテンツをMarkdownおよびMDXで記述可能。Reactコンポーネントの埋め込みにも対応
React/TypeScriptベースUIのカスタマイズやプラグイン開発をReact/TypeScriptで行える
ドキュメント機能バージョニング、サイドバー、検索などドキュメントサイトに必要な機能が標準搭載
ブログ機能タグ、フィード、ページネーションなどのブログ機能を標準で提供
ホットリロードファイルを保存すると変更が即座にブラウザに反映される
実際のプロジェクトでの使用例

Docusaurusは多くのオープンソースプロジェクトで使用されています。一例として、atprotodart.comのドキュメントサイトがDocusaurusで構築されています。

事前準備

Docusaurusの実行にはNode.jsが必要です。Node.jsの導入がまだの場合は、nvmでNode.jsのバージョン管理を行うの記事を参考にインストールできます。

Docusaurusプロジェクトの作成

npm init docusaurus@latestの実行

以下のコマンドを実行して、Docusaurusプロジェクトを作成します。

ターミナル
npm init docusaurus@latest

コマンドを実行すると、対話形式でプロジェクトの設定が求められます。

プロジェクト名の入力

最初にプロジェクト名(ディレクトリ名)の入力が求められます。任意の名前を入力します。

? What should we name this site? › website

テンプレートの選択

使用するテンプレートの選択が求められます。標準的なサイト構成で始める場合はclassicを選択します。

? Select a template:
❯ classic (recommended)
Git Repository
Local template

classicテンプレートには、ドキュメント、ブログ、カスタムページの3つのコンテンツタイプが含まれています。

開発言語の選択

TypeScriptを使用するかどうかの選択が求められます。TypeScriptの型チェックを活用する場合はTypeScriptを選択します。

? Which language do you want to use?
JavaScript
❯ TypeScript

選択が完了すると、プロジェクトの作成と依存パッケージのインストールが自動的に実行されます。

開発サーバーの起動

npm startの実行

プロジェクトの作成が完了したら、プロジェクトディレクトリに移動して開発サーバーを起動します。

ターミナル
cd website && npm start

開発サーバーが起動すると、ブラウザが自動的に開き、Docusaurusの初期ページが表示されます。デフォルトではhttp://localhost:3000でアクセスできます。

ホットリロード

開発サーバーの起動中は、ファイルを編集して保存すると変更がブラウザに即座に反映されます。この機能はホットリロードと呼ばれ、コンテンツの編集結果をリアルタイムで確認できます。

ドキュメントの作成

docsフォルダの構成

Docusaurusのドキュメントコンテンツは、プロジェクトルートのdocsフォルダに配置します。docsフォルダ内のMarkdownファイルが、サイトのドキュメントページとして自動的に認識されます。

ドキュメントファイルの作成例

docsフォルダにMarkdownファイルを作成すると、ドキュメントページとして表示されます。以下はdocs/hello.mdの例です。

docs/hello.md
---
sidebar_position: 1
---

# Hello

This is my first document.

フロントマター(ファイル先頭の---で囲まれた部分)でsidebar_positionを指定すると、サイドバーでの表示順序を制御できます。数値が小さいほど上に表示されます。

ファイルを保存すると、ホットリロードにより変更がブラウザに反映され、サイドバーに新しいドキュメントが追加されたことを確認できます。

主要なフロントマターオプション

オプション説明
sidebar_positionサイドバーでの表示順序を指定
sidebar_labelサイドバーに表示されるラベルを指定(省略時はタイトルが使用される)
titleドキュメントのタイトルを指定
descriptionドキュメントのメタディスクリプションを指定
slugカスタムURLパスを指定

まとめ

この記事では、Docusaurusを使用して静的サイトを構築する手順について解説しました。

Docusaurusは、Metaが開発しているオープンソースの静的サイトジェネレーターで、npm init docusaurus@latestコマンドで対話形式のプロジェクト作成が可能です。docsフォルダにMarkdownファイルを配置することでドキュメントページを追加でき、ホットリロードにより編集結果をリアルタイムで確認できます。


参考リンク:

免責事項:
当記事は管理人の開発時に書き留められたメモをもとにAIを活用して編纂されたものです。 管理人は記事の公開前に内容の校正・校閲を行い、記事の信頼性と正確性の向上に務めますが、それらを保証するものではありません。 また、当記事の編集時の誤字やコード例の不具合等によって読者が何らかの損害等を被った場合でも、管理人は一切の責任を負いません。 当記事に掲載したコンテンツの利用については自己責任でお願い致します。