ドキュメント 旅路
GitHub の放置していた自分のリポジトリを掘ってたらちょっと前に Scrapbox と向き合う業をやっていたのを思い出した
ついでに deno の fresh を試してみたかったので fresh で Scrapbox ライクな何かが作れるか試してみることに
island で react-query 的な fetch cache の仕組みを入れようとして swr を import_map に
https://esm.sh/swr@2.0.0-beta.6?alias=react:preact/compat&external=preact
で import するとなんとなく動く雰囲気はでたんだけど、swr の hook があると preact/hooks/useCallback が死ぬ怪現象に遭遇し、fresh から撤退してしまった
esm.sh はレスポンスが遅いパターンがあるのでしばらく待ってアクセスし直すのがコツ
なんとなく挙動も確かめたが、island のコンポーネントは相互呼び出しできないようになってたりして、うんまあそうかあ、みたいな...
ほいじゃあ vite でやりますわ〜とコードを書き始めたんだけど、ルータをどうしようか迷って、react-router 採用するぐらいならもう remix にいっちゃった方がいいんじゃね...?みたいな気持ちになり、remix 採用するぐらいなら blitz にするか〜...とおもうものの、う〜む prisma か....みたいな気持ちになり
なんか一周回って Obsidian の plugin がんばれば実はなんとかなるのでは...?とおもったけどのっけからファイルベースな vault に嫌気がさしてしまった
あと electron に codemirror が載ってて、codemirror か....という
一時期 GitHub の git の API を駆使すれば wiki 的な仕組みが作れるのでは?とおもって PoC つくってたけど、結局インクリメンタルサーチとか2hop-linkとか考えるとやっぱりなんらか DB に格納されてる必要はあるのかあと
まあやろうとおもえば issue か project あたりをメタデータ格納ストレージみたいな風にはできそうな予感はしたけど、明らかに用途外っぽい気がするのでやめた
ところで今や Codespace があるので VSCode の拡張としてなんか作ったら普段はローカルでアプローチして、いざという時はブラウザから Codespace でなんとかなるのでは...?とおもい寄り道もしたけどまあ結局同じ壁にぶち当たることになった
さらについでに
ViteConf 2022
のホスト?の StackBlitz を久々に触ってみたんだけど Codespace に比べて格段に高速に boot して体験がよかった
plugin みたいな機構はなさそうだけど、結局 monaco っぽいので拡張でうまい感じに刺したら遊べる予感はする
それから内部APIと内部WebSocketのラッパーライブラリを作ってるのを発見してすげーってなった
バージョニングもない対象に対して外形的にそこまでアプローチする元気はなかったので
当時 chrome 拡張もカマして iframe ごしに ws ハイジャックをやったりしてたけど、UserScript から ws 生やせばよかったんだなーと学び
いろいろ手持ちのパーツが増えた感あるのでもうちょっと Scrapbox と向き合ってみようかなと...
jigsaw(ジグソウ、1991年6月12日-)は日本のプログラマ、会社代表。本名は小林貴也(こばやし たかや)。主にウェブ、フロントエンド領域で活動している。カミング・スーン合同会社の代表社員。