コンテンツにスキップ

Pelicanからの移行

Pelicanは、Pythonで構築されたオープンソースの静的サイトジェネレーターです。

PelicanとAstroには、以下のような共通点があり、移行をスムーズに行えます。

  • どちらもコンテンツ重視のウェブサイト(例:ブログ)に適した静的サイトジェネレーターです。

  • 両者ともMarkdownでの執筆をサポートしており、ページメタデータにYAMLフロントマターを使用できます。Astroでは特別なフロントマターのプロパティが少ないため、PelicanのMarkdownファイルとそのフロントマターをそのまま活用できます。

  • PelicanはMarkdownに加えてreStructuredText(.rst)にも対応していますが、AstroではMarkdownおよびMDXのみ対応しており、reStructuredTextは非対応です。

  • PelicanはHTMLファイルとJinjaテンプレートを使ってレイアウトを構築しますが、AstroはJSX風構文を採用した.astroファイルでテンプレートやコンポーネントを構成します。すべての有効なHTMLは.astro構文としても有効です。

  • Pelicanにはブログ機能が組み込まれていますが、Astroではそれらを自分で構築する必要があります。もしくは、公式のブログテーマを使えば、同等の機能をすぐに利用できます。

Pelican製のドキュメントサイトをAstroへ移行するには、公式Starlightドキュメントテーマを利用するか、テーマショーケースから他のドキュメントテーマを選びます。

create astroコマンドに--template引数を渡すことで、公式スターターを使って新しいAstroプロジェクトを作成できます。また、GitHub上の既存リポジトリからプロジェクトを開始することも可能です。

ターミナルウィンドウ
npm create astro@latest -- --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で即時起動できるリンクも用意されています。

その他のマイグレーションガイド

貢献する コミュニティ スポンサー