Astro でポートフォリオサイトを作り始めました
このサイト(raa0121.info)は Astro で作っています。そのときの技術選定メモです。
なぜ Astro か
- コンテンツ中心のポートフォリオサイトにぴったり
- ビルド後の出力が純粋な静的ファイルなので、nginx に置くだけで配信できる
- TypeScript ベースで、普段の開発と相性が良い
構成
- レイアウト:
src/layouts/BaseLayout.astroを共通化 - コンテンツ: OSS の紹介は
src/data/projects.tsのような TS データで管理し、 ブログは Content Collections(Markdown)で運用 - デプロイ:
npm run buildでdist/に出力し、自宅サーバの nginx に配置
データ管理の方針
OSS 情報を動的に GitHub API から引くのではなく、ビルド時に確定した静的データを 持つ方針にしました。ビルドの再現性が保てるのと、GitHub のアクセス制限に左右されない のが理由です。更新時は API で確認して手動で反映します。