Docusaurusからの移行
DocusaurusはReact製の人気ドキュメントサイトビルダーです。
DocusaurusとAstroの類似点
セクションタイトル: DocusaurusとAstroの類似点DocusaurusとAstroには、プロジェクト移行を容易にするいくつかの共通点があります。
- どちらもJavaScriptベースのモダンなサイトビルダー(Jamstack)であり、コンテンツ駆動なウェブサイト―とくにドキュメントサイト―を構築するために最適化されています。
- 両者ともMDXページをサポートしています。既存の
.mdx
ファイルをAstroに持ち込んでそのまま使用できます。 - どちらも
src/pages
内に置いたMDXファイルに対してファイルベースルーティングを行い、自動でページルートを生成します。既存コンテンツや新規ページをAstroのディレクトリ構造に配置しても違和感は少ないでしょう。 - AstroにはReactコンポーネントを利用する公式インテグレーションがあります。AstroではReactファイルの拡張子を
.jsx
または.tsx
にする必要があります。 - AstroはNPMパッケージのインストールをサポートしており、多くのReact用パッケージもそのまま利用できます。既存のReactコンポーネントや依存関係をそのまま移行できる可能性もあります。
- AstroのJSXライクな構文はReactに慣れていればすぐ理解できます。
DocusaurusとAstroの主な相違点
セクションタイトル: DocusaurusとAstroの主な相違点DocusaurusサイトをAstroで再構築すると、次のような違いに気付くでしょう。
- DocusaurusはReactベースのシングルページアプリ(SPA)ですが、Astroサイトは
.astro
コンポーネントで構成されたマルチページアプリです。必要に応じてReact、Preact、Vue.js、Svelte、SolidJS、AlpineJSを併用できるほか、生のHTMLテンプレートもサポートされます。 - Docusaurusにはドキュメントサイト向けの機能が組み込まれています。Astroではこれらを自前で実装するか、公式ドキュメントテーマStarlightやコミュニティ製ドキュメントテーマを利用します。なお、Starlightは当サイト(Astro本家サイト)を元に開発されており、現在この公式サイトもStarlightを使って動作しています。
- DocusaurusはコンテンツをMDXで管理しますが、StarlightはデフォルトでMarkdown(
.md
)を使い、MDXはオプションです。必要であればAstroのMDXインテグレーション (EN)を追加して.mdx
を併用できます。(Starlightには標準で含まれています。)
DocusaurusサイトをAstroに変換する
セクションタイトル: DocusaurusサイトをAstroに変換するDocusaurusドキュメントサイトをAstroへ移行するには、まずStarlight公式スターターテンプレートを使用するか、テーマショーケースでコミュニティ製ドキュメントテーマを探索してください。
create astro
コマンドに--template
を渡すと、公式スターターで新しいAstroプロジェクトを作成できます。また、GitHub上の既存Astroリポジトリから新規プロジェクトを開始することも可能です。
npm create astro@latest -- --template starlight
pnpm create astro@latest --template starlight
yarn create astro --template starlight
AstroのMDXインテグレーションはデフォルトで含まれているため、既存のコンテンツファイルを直ちに追加できます。
公式スターターおよび他のテンプレートはastro.newで確認できます。各プロジェクトのGitHubリポジトリ、IDX・StackBlitz・CodeSandbox・Gitpodで開くワンクリックリンクも用意されています。
コミュニティリソース
セクションタイトル: コミュニティリソースDocusaurusサイトをAstroに移行する際に役立つ動画やブログ記事をご存じ(またはご自身で作成)でしたら、こちらのリストに追加してください。
GitHub リポジトリを編集!