(Denoへ)さようなら、いままでブログをありがとう
はじめに
DenoがCloudflareに買収され、1年間の延長サポート期間ののちにDeno Teamによる開発が中止されることが発表されました。
Denoランタイムは引き続きOSSのままとされるので、サポートする人がいれば引き続きサポートされるということですが、事実上の開発中止となってしまいました。
DenoはRustで記述されていたり、シングルバイナリで動いたり、JSRという新しい仕組みで頑張っていこうという姿勢だったり、アイコンがすごい可愛いという点でとても気に入っていたので今回の発表はとても残念です。
はてなブログからGitHub Pagesに移行したのが2022年10月なので、4年間ブログを支えてもらったことになります。
とはいえ、感傷に浸っている時間はあまりありません。 このブログはDeno + Lumeで開発されており、早々に移行先のプラットフォームを見つけて移行しなくてはなりません。
移行先の要件
というわけで、移行先を要件をまとめると以下の通りとなります。
- SSG(Static Site Generator)であること
- GitHub Actionでビルドが出来ること
- GitHub Pagesで公開が出来ること
- 簡単には開発中止にならなそうなもの
個人的には尖ったランタイム・ライブラリが好きなのですが、何度も移行するのは大変なので今回はメジャーなものを採用することとしました。
移行先として
- Node.js + Astro
- Hugo
- Zola
に目星をつけていましたが、お世話になっている勉強会のメンバーに聞いてみたところAstroが良いとのことでNode.js + Astroに移行することとしました。
移行作業
方針としてAstroの標準の書き方に寄せるのを優先して、レイアウトなどはそのまま引き継いています。
Lume版からの変更点としては、
- (いったん)Pagefindを廃止した
- Noto Sans JPフォントをOS側のフォントを優先するようにし、OS側にない場合にWebフォントを使用するようにした
- 画像をWebPに変換するようにした
- コードハイライトをAstro標準に変更したことにより、見た目が若干変わった
くらいです。
Lume版はWebフォントのダウンロードに若干の時間が掛かっていたのですが、Astro版はWebフォントにフォールバックしなければ表示が爆速になりました。
見た目はほとんど変わっていないので、何も言わなければ気付かないと思います。
なお、実際の作業はOpus 5.5君にお任せしています。
おわりに
Denoが無くなるのは寂しいですが、前から少し気になっていたAstroに移行出来たことと、表示が早くなったので移行して良かったかなと思います。
おわり