GitBookからの移行
GitBookは、バージョン管理とカスタマイズ機能を備えたドキュメント、書籍の共同執筆プラットフォームです。
GitBookとAstroの類似点
セクションタイトル: GitBookとAstroの類似点GitBookとAstroには、プロジェクト移行を容易にするいくつかの共通点があります。
- どちらもMarkdownをサポートしています。GitBookのGitSync機能を使えば、既存ドキュメントをそのまま移行できます。
- どちらも何らかのファイルベースルーティングを採用しています。Astroのディレクトリ構造で既存コンテンツを管理しても違和感は少ないでしょう。
GitBookとAstroの主な相違点
セクションタイトル: GitBookとAstroの主な相違点GitBook DocsからAstroへ移行する際、以下の重要な違いがあります。
- GitBookサイトはオンラインダッシュボードで編集します。Astroではコードエディタとローカル/クラウドの開発環境でサイトを管理します。
- GitBookはコンテンツをデータベースに保存します。Astroでは各ページをMarkdownやMDXなど個別ファイルとして
src/
ディレクトリに配置します。あるいはCMSと連携してデータを取得することもできます。 - GitBookはMarkdown上に独自構文を追加しています。Astroでは類似構文を持つMarkdocをMarkdocインテグレーション (EN)で利用できます。
GitBookサイトをAstroに変換する
セクションタイトル: GitBookサイトをAstroに変換するGitBookドキュメントサイトを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プロジェクトを準備したら、GitBookのGit Sync機能でコンテンツをGitHub/GitLabリポジトリへ同期し、新しいAstroリポジトリに取り込みます。
テンプレートのコンテンツコレクションに直接同期する場合は、src/content/docs/en
またはsrc/content/docs
を同期先ディレクトリに指定してください。
同期完了後、AstroリポジトリにGitBookのコンテンツがコピーされます。今後の衝突を防ぐため、GitSyncは無効化してください。
GitSyncを有効にするときは、必ず優先度を**“GitBook→GitHub”**に設定してください。これによりGitBookのコンテンツがGitHubリポジトリへ同期され、誤って上書きするリスクを防げます。
ただし、コンテンツをコピーしただけではそのままAstroで利用できません。GitBook特有の構文をAstro互換へ手動で変換する必要があります。
- AstroのMarkdocインテグレーション (EN)を使用する場合、拡張子を
.mdoc
に変更します。.md
や.mdx
と競合しないための措置です。 - GitBookのクローズタグ記法(
{/tag}
)はMarkdocでは{%endtag%}
となるため、ファイル全体で修正します。 - GitBook特有のコンポーネントはAstroに存在しないため、Markdocの
tags
設定 (EN)で独自タグとして登録するか、ファイルから削除します。
コミュニティリソース
セクションタイトル: コミュニティリソースGitBookサイトをAstroへ変換する際に役立つ動画やブログ記事を見つけた(または作成した)場合は、このリストにぜひ追加してください。こちらからPRを送れます。