ipfsでブログを作ってみてわかったこと

NUXT/contentで試しの変換ブログはそのまま作り込み続けているのだが、ipfs対応について作ってみて、わかってきた。

最初ブログを一括変換して一つのcidを作って、残りはそこからの相対コンテンツという形にしてみたが、ipfsはコンテンツがわずかでも変わると別のcidに変わってしまう。

つまりボタンのgifを少しいじるだけでも別のコンテンツという扱いになってしまう。

例えば「ある1つの記事の内容を少しでも書き換えたら別のコンテンツとして新しいcidを発行します」という話であれば、記事の永続性の保証という意味で分かるのだが、「ある1つの記事の内容を少しでも書き換えたら、そのブログに含まれている他の記事も含めてすべて別のコンテンツとして新しいcidを発行します」では記事の永続性としてはちょっと使いにくい。ブログ全体としては確かに以前とは異なりますという意味では正しいが、そこを保証されても何が変わったのかが訳分からなくなってしまう。たとえばマニュアルのサイトとしてVer.1.0のサイトのcidを起こして、これがVer.1.1になったら次のcidを起こすという使い方は有用なのだが、個人サイトでデイリーな記事を追加したら毎日cidが変わりますという使い方は面倒なだけだし保存容量の無駄遣いにしかならないし。。。

つまり個人ブログみたいなものでやるなら「ブログ全体」→「1cid」ではなく、「1つの記事」→「1つのcid」にしてブログシステムがその記事のcid群を管理するという形にするのがよさそう。そうすればブログシステムそのものは書き換えてもcidが更新されない(ボタン画像を貼り替えてもcidは変わらない)という形にできる。1日のログを後で書き換えることはめったにないから発行したcidを永続しても問題ないし、技術記事などで内容を追記したときに新cidが発行されるという話なら、それは更新履歴として管理できると便利な話になる。

そうなってくると

一番単純には「保存した各単一記事cidのhttpゲートウェイurlをブログシステム側でiframeで埋め込む」とか「記事そのものはmdのままホストしてcidを発行して、jsとかで取得してレンダリングする」(corsをどうするのがよいかな?)とかいう形になるんじゃないかな。

iframeが復権するのかな?

ちょっと工夫しないとおいしくなさそうなので、少し再検討中。