この個人サイトを Astro 化して、ついでに Blog 機能を作成しました。
もともとこの個人サイトは Next.js(PagesRouter) + Tailwind で作られていました。
流石に 2025 年になって PagesRouter のままなのはよくないなとは以前から思っていて、「AppRouter に上げる」or「他のフレームワークに移行する」かの 2 択に迫られていました。ただこのサイトは基本的に静的なコンテンツだけなので Next.js である意味はあまりなく、むしろ不必要に複雑にしている感も否めなかったので他フレームワークに移行する決定をしました。ちなみにこの記事公開のちょっと前には React2Shell が話題になっていましたが、今回 Next.js から移行したのとは関係がありません。(実際この問題が発覚する前に Astro 化していました。)
他フレームワークに移行するとなると利用実績や機能、自分の慣れなどからやはり「Astro が最適だ」という結論になりました。移行作業も上記の通り静的なコンテンツのみだったので、半日程度で終わりました。
移行のついでにスタイリングを Tailwind から生の CSS にしました。別に Next.js でも Astro でも Tailwind であることの問題は全くないのですが、
などの理由もあり、生の CSS でいいかとなりました。この書き換えに関しては AI(Claude Code) に頼んで、そのあとうまくいかなかった部分を手で調整するという形をとりました。特段複雑なスタイルを組んでいたわけではないのですが(強いて言えば /outputs ページが少し複雑なくらい)、AI の書き換え再現度は 7,8 割といったところでした。
また今までは Vercel にホスティングしていたのですが、 Next.js をやめた影響でドメイン自体を管理している Cloudflare に移行しました。こちらは github との連携と Astro のテンプレートを利用することで、ほぼ何も考えずにデプロイまでできましたし、カスタムドメインとの紐づけもワンボタンで終わりました。
せっかく Astro にしたので新しく Blog 機能も作成しました。Astro は標準で Markdown サポートが手厚いので、簡単な Rehype のプラグイン(Class 名をいい感じに付与してるだけ)を書き、スタイルを調整するくらいで終わりました。
とはいえまだまだこれからも書いていく中で気になってくる部分は出てくるのはずなのでそのたびに調整はしていくと思います。
今までは基本的に Zenn や Cosense に技術的なブログやメモを書いていたのですが、これからはこのブログも気軽に活用していければ良いなと思っています。
使い分けは自分でもはっきりしていないのですが、以下のような記事はこのブログに書こうかなと思っています。
また、今後サイトの国際化(日英対応)と合わせて英語の勉強と英語版の記事の執筆をチャレンジしたいという気持ちがあります。もしかしたら日本語版は Zenn 、英語版はこちらといった運用になるかもしれません。
あまり気負わずに好き勝手出来る場として少しずつ更新していければ良いなと思っているので、たまに覗いてもらえるとうれしいです。