やったこと
Astro on Cloudflare Workers なこのブログをほぼSSR化したので、ビルド不要で記事のCRUDが出来るようになった。記事はD1で管理している。
Astro は色々出来る
Astro と言えば簡単に static なブログが作れるフレームワークというイメージだと思いますが、実はそこそこ前から live content collection という機能と合わせてビルド不要なブログを作ることが可能でした。
過去記事 → Astroの機能をフル活用してCMSを作る
今や experimental ではなくなり、astro:actions 等で RPC も使えるなど、機能が充実している。
まぁテストやフォーマッターまで踏まえるとそんなに充実してないけれど。(biome は一応 html.experimentalFullSupportEnabled でフォーマット出来る)
ところで、再デプロイしないので Workers Cache を無効にしないと挙動がバグります(一敗)。
なんで SSR 化したか
ブログはスマホで走り書きすることが多いので、ブログに簡単なエディタを組み込んでいたが、良く言えばハイブリッド、悪く言えば中途半端な構成だったため。
あとは、せっかくだし Cloudflare スタックにのせたいという気持ちもあった。今は D1 に記事を保存している。
このあと
pagefind という、ビルド時に全記事でインデックス貼ってインクリメンタルサーチ出来るSSG向けライブラリが使えなくなったので、別途インクリメンタルサーチ出来る仕組みを用意する。
おわり
実装はエアーイです。 そろそろページネーション欲しいねぇ