Astro でブログを再リニューアルした
• 5 min read
Hugo から Astro へ
今年の4月に Hugo でブログをリニューアルしたばかりだったが、今度は Astro に移行することにした。
Hugo でも十分だったけれど、最近 Astro の話をよく聞くようになり、試してみたくなったのが主な理由。モダンなWeb開発の体験を求めていた。
なぜ Astro を選んだか
いくつかの理由があった:
- パフォーマンス: 静的サイト生成でありながら、必要に応じてインタラクティブな要素を追加できる
- 開発体験: TypeScript や JSX のような馴染みのある技術が使える
- エコシステム: npm パッケージが豊富で、React/Vue などのコンポーネントも使える
- 学習コスト: 比較的シンプルで理解しやすい設計
移行作業
移行作業は思ったより簡単だった:
- プロジェクトセットアップ: Astro の blog template から開始
- コンテンツ移行: Hugo の markdown ファイルを Astro の content collections に変換
- デザイン適用: AstroPaper v4 Special の Leaf Blue テーマを参考にした
- URL 構造維持:
/posts/
の既存 URL をそのまま維持して SEO を保護 - 機能実装: タグシステム、RSS フィード、ダークモード対応
デザインとテーマ
今回は steipete.me からインスピレーションを得つつ、AstroPaper v4 Special の Leaf Blue テーマを適用した。
- カラーパレット: 淡いグリーンの背景に青いアクセント
- レスポンシブデザイン: Tailwind CSS でモバイルファーストな設計
- ダークモード: ワンクリックでテーマ切り替え可能
技術的な改善点
- パフォーマンス: Hugo も十分高速だったが、Astro はさらに最適化されている
- 開発体験: TypeScript による型安全性、コンポーネントベースの開発
- メンテナンス性: npm エコシステムの活用でライブラリの選択肢が豊富
移行して良かった点
- モダンな開発体験: TypeScript、JSX、Component 指向の開発
- 柔軟性: 静的サイトでありながら、必要に応じて動的な要素を追加可能
- エコシステム: React/Vue などの既存の知識を活かせる
- 学習: 新しい技術スタックを学ぶ良い機会になった
今後
Astro への移行により、ブログの更新や機能追加がより楽しくなりそう。
引き続き技術的な内容を中心に、学んだことや試したことを発信していきたい。新しいツールチェインで、また書くモチベーションが上がりそうだ。
※ このブログ移行作業は Claude Code を使用して実装しました。