Pelicanからの移行
Pelicanは、Pythonで構築されたオープンソースの静的サイトジェネレーターです。
PelicanとAstroの類似点
セクションタイトル: PelicanとAstroの類似点PelicanとAstroには、以下のような共通点があり、移行をスムーズに行えます。
-
どちらもコンテンツ重視のウェブサイト(例:ブログ)に適した静的サイトジェネレーターです。
-
両者ともMarkdownでの執筆をサポートしており、ページメタデータにYAMLフロントマターを使用できます。Astroでは特別なフロントマターのプロパティが少ないため、PelicanのMarkdownファイルとそのフロントマターをそのまま活用できます。
PelicanとAstroの主な違い
セクションタイトル: PelicanとAstroの主な違い-
PelicanはMarkdownに加えてreStructuredText(
.rst
)にも対応していますが、AstroではMarkdownおよびMDXのみ対応しており、reStructuredTextは非対応です。 -
PelicanはHTMLファイルとJinjaテンプレートを使ってレイアウトを構築しますが、AstroはJSX風構文を採用した
.astro
ファイルでテンプレートやコンポーネントを構成します。すべての有効なHTMLは.astro
構文としても有効です。 -
Pelicanにはブログ機能が組み込まれていますが、Astroではそれらを自分で構築する必要があります。もしくは、公式のブログテーマを使えば、同等の機能をすぐに利用できます。
PelicanサイトをAstroへ移行する
セクションタイトル: PelicanサイトをAstroへ移行するPelican製のドキュメントサイトをAstroへ移行するには、公式Starlightドキュメントテーマを利用するか、テーマショーケースから他のドキュメントテーマを選びます。
create astro
コマンドに--template
引数を渡すことで、公式スターターを使って新しいAstroプロジェクトを作成できます。また、GitHub上の既存リポジトリからプロジェクトを開始することも可能です。
npm create astro@latest -- --template starlight
pnpm create astro@latest --template starlight
yarn create astro --template starlight
既存のMarkdownファイルをMarkdownページとして作成し、Pelicanのcontent/
ディレクトリからAstroのsrc/pages/
へコピーすることで、ファイルベースルーティングを活用できます。
Pelicanではレイアウトやメタデータ管理が自動化されていますが、AstroではMarkdownレイアウトとしてラップする構成を自分で組む必要があります。
Astroにも多くの公式インテグレーションがあり、MDX対応などを追加できます。また、Astro Integration API (EN)を使えば、自分用のカスタムインテグレーションも作成できます。
ポートフォリオサイトやブログサイトへの移行を検討している場合は、astro.newで他のスターターテンプレートを確認できます。GitHubリポジトリのリンクに加え、IDX・StackBlitz・CodeSandbox・Gitpodで即時起動できるリンクも用意されています。
コミュニティリソース
セクションタイトル: コミュニティリソースPelicanサイトからAstroへの移行に役立つ動画やブログ記事などを見つけた(または作成した)場合は、ぜひこちらのリストに追加してください!