Jazzと読書の日々

iPadを筆記具として使う方法を模索します

Obsidianでテキストからキャンバスを生成する呪文

キャンバス、面白いんだけど、文章を追加するのがやや面倒。 すでにあるテキストから作れたら楽なのになあ。 そんな怠け心の産物です。

Canvasize.md

mdファイルからcanvasファイルを作ります。 TemplaterのTemplate Hotkeysに登録してお使いください。

<%*
CANVAS = "canvas/";

d = tp.file.content.split("\n\n");
p = [];
for(i=0;i<d.length;i++){
  a = {};
  a.id = i;
  a.y = i * 50;
  a.width = 320;
  a.height = 60;
  a.type = "text";
  a.text = d[i];
  p.push(JSON.stringify(a));
}
s = '{"nodes":[' + p.join(",") + ']}';
f = await app.vault.create(CANVAS + tp.file.title + ".canvas", s);
await app.workspace.activeLeaf.openFile(f);
%>

変数CANVASにキャンバスのフォルダを指定してください。

使い方

実行するとキャンバスが起動します。 テキストが空行区切りでカードになります。 重なった状態で表示されるので、長押しして配置を変えてください。

ファイル名は元のタイトルのままで拡張子をcanvasに変えたものになります。 もし同じ名前のファイルがある場合は何もせずに終了します。

キャンバス

DraftPadに昔Bubblesというアシストがありました。

通常のテキストをカードに変換し、それを並べ替えることで思考を整理する方法。 並べ終わったら、カードの配置をもとにテキストに戻してくれる。

アウトライナーのように厳格に位置づけるわけでもなく、ふわっとした位置関係を作れるんですよね。 配置が枠付けにならない。 カードがゆるく繋がっている。

キャンバスはその感触を少し再現してくれます。

まとめ

連想配列の追加でつまずいた。 力技になってます。