ポストdeカード VER.3.0 Light

NHKの黒歴史番組のピピン特集でそれとなく出てきたので探してTwitter上には上げたけど、こっちに再掲。たしか箱もあったはずだけど見つからなかった。

PowerMacとPippinとどちらでも使用可能。たしかPippinではMOドライブが必須だったような(MO: 光磁気ディスク とか、FDより死語に近いか?)

関係ない話だが、探しているうちにCDケース2スタック分が見つかったので、あと2ヶ月くらいは掲載CDがありそうだ。

ipfsブログの検討、その後

先日考えていたipfs対応新ブログについては本文をマークダウン記述でipfs上に階層構造で保存して、それとは別に静的ブログに変換したキャッシュを同じくマークダウンに置くというのが形上はよいと思ったので、いろいろ試してみた。

記事個々は小ディレクトリに置いて、本文はindex.mdで書く。各記事の画像は小ディレクトリの中に配置することで個々の記事にcidを設定できる形にする。

それ全体をまとめたディレクトリをルート記事ディレクトリとする。

それとは別にそれらの記事mdを読み込んで静的サイトをビルドしてそれをまたipfsに配置する。

すでにあらかたできてたNuxt/Contentベースのプロジェクトで上記を実現するのに、Nuxt/Contentをカスタマイズして、ipfsから直接mdのツリーを読み込んで静的サイトをビルドするように修正。とりあえずは動くところまで行ったと。

現時点 https://bafybeigkbcll4kizopo5v7wtbnvcouttreb6aptql74aapnruxhwo5dvca.ipfs.dweb.link/ に公開中。ipfsマークをクリックすると基のipfsディレクトリやマークダウンを表示します(ラズパイ上のデプロイなので外部からは遅いかも。。。)

とりあえずごそごそやってここまでは出来たものの、まだipfs直書き出しや履歴の自動管理まではまだまだ。

html部分はiframeとかでipfs側に保存したマークダウンを直接表示できるとコンテンツ的には整合した話になるのだが、今の時代にReact的ツールを使わないとかいう形はそぐわないので、キャッシュhtmlが冗長になってもこういうスタイルのほうがよいような気がする。

遅いとか冗長とかいう問題は技術改善によってどうにでもなる話なのでそこは気にしないのだが、md部分の編集管理/履歴管理はシンプル化しないとつらい部分があるな。

そこがうまく回るようになったらDNSLinkの管理方法も考えた上でブログ移行かな。

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が復権するのかな?

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