このブログの執筆環境、最初は WordPress を使っていた。と言っても WP-API 越しにデータ取得するといった、いわゆる Headless CMS として利用していたんだけど、正直執筆以外の部分が辛すぎた。
具体的にはメディアの管理まわりで、例えばある記事に画像を添付するが、その記事自体は非公開・下書き・削除などなんでもいいけど公開されてない状態にする。そして別の記事でメディアライブラリから、さっきの画像を記事内に挿入する。問題なく使えるし、公開してもその画像は表示できる。でも WP-API で /media
エンドポイントでは取得できない。これは最初にアップロードしたときの記事 ID がその画像に紐付いていて、元記事が公開状態ではないので返さないというものらしい。
Headless CMS 側もサーバーとして常に存在し、そっちの URL のまま画像表示などを行うのなら問題はないが、今回はビルド時に画像などのファイルも全部静的サイト側に持つ形にしたかったので API で取れないと本文から無理やりパーズすることになる。嫌すぎる。でも一回は頑張って書いてみた。せっかくなのでそのコードも取ってはおくけど、実際は使わない。どうしても裏側は WordPress じゃないとダメだ!って人にはいいかもしれない。