Table of contents
Open Table of contents
経緯
このサイトをとりあえず立てたときには、HTMLとCSSを手書きする最強のJamstackをやっていた。 しかし、それでは続かないだろうということで、親しみ深いMarkdown形式で楽に書いて処理してもらった方がよいと思った。 (というのも少し嘘で、最初はなにかちょうどいいのがないかとNext.JSやHugoあたりに手を出しては面倒になっていた)
結局Astroが一番やりやすそう(で新しい、ただのブログサイトに対して余計な機能はついていない)だと判断して、Astroを導入した。 そしてできたのがこのスタイルのこのブログである。つい昨日までは手元でbuildしてrsyncによりサーバに投げていた。もともとHTMLを手書きしていたときと同じようなやり方が通用したし、Nginxの使い方を知るという意味でも大変勉強になった。
しかし、某先輩がNetlifyで自動デプロイをしていると聞き心が揺らぐ。
GitHubでソースを管理しながら手元でnpm run build
するのも面倒と言えば面倒で、commitしたら反映してほしい気持ちがないわけではない。
そこで、ググって3秒で答えにたどり着き、ものの2~3分で、拍子抜けするほどあっさりと設定できてしまった。
Cloudflareに巻かれる
Cloudflare Pagesを選択するに至った理由は、ドメインの取得と管理、R2の利用、その他諸々のこと(VPSを除く)をCloudflareで行っていたからにほかならない。経路依存でしかない自分の行動ではあるが、正当化するならば 何に対して? 純粋にこれ以上アカウント登録先を増やしたり、トラブル時に眺めに行く場所を増やしたくない1からだ、とも言える。
諸々の設定について
巷のブログを見ていると、Cloudflare PagesではNodeバージョンが古すぎるので注意、といった趣旨の記述が散見される。
しかしどうやらこの半年でだいぶ改善されたらしく、2023年7月27日現在、Cloudflare Pagesは[email protected], [email protected]
となっている(ビルドログより確認)。ほぼ最新版であるが、この版よりも先を行くNodeのバージョンに依存するプラグインを利用している場合は、適宜環境変数で指定する必要があることには注意されたい。
また、私の場合、ビルド時間は変更のあるファイル数によらず概ね40秒程度かかる。デプロイまで含めるとトータルで50秒前後で公開に至っているので遅くはないが、もっと速い設定やサービスはあるかもしれない。ただ、変更あるファイル数によらずに速度がおおよそ一定なのはかなりありがたい。
今後について
ある程度の編集のしやすさ、管理のしやすさ、更新のしやすさを手に入れたと思うので、今後は最初の投稿のToDoであるリンクカードや画像の処理を考えていきたい。飽きない程度にぼちぼちやっていくをします。
脚注
といいつつ、cloudflareのほうでNode Versionが18まではあがったらしいというウワサや制限が少ないという魅力に惹かれなかったというと嘘になる。 ↩