昔作ったTemplaterスクリプトを見直しました。
Tarot
今回は段落単位でカード化するようにしました。 空行が切れ目になります。 ここのところの「Markdownの本質は段落である」という考察の成果です。
tarot.md
canvasの保存先を変数FOLDERで設定してください。
<%* FOLDER = "canvas/" const pos = [0, 1, 0, -1] const d = tp.file.content.split("\n\n") p = [] for(i=0; i < d.length; i++){ if(d[i]){ a = {} a.id = i a.x = pos[i%4] * 200 a.y = pos[(i+1)%4] * 200 a.width = 300 a.height = 80 a.type = "text" a.text = d[i] p.push(JSON.stringify(a)) } } s = '{"nodes":[' + p.join(",") + ']}' c = FOLDER + tp.file.title f = c + ".canvas" p = app.vault.getAbstractFileByPath(f) k = 1 while(p){ f = c + " " + (k++) + ".canvas" p = app.vault.getAbstractFileByPath(f) } p = await app.vault.create(f, s) app.workspace.activeLeaf.openFile(p) %>
使い方
スクリプトを実行すると、 段落がカードとなって4つの山に分配されます。
このカードを移動することで再分配する。
その結果を昨日のCopilotでグループ分けしようという狙いです。
結果
カード化はうまくいくし、グループ分けもいいのですが、 グループ内の並び順ですね。 必ずしも「上から下へ」になっていません。
これはプロンプトで「yの昇順で」とつけた方がいいのだろうか。 そう思って試してみると今度はyの値を並べたリストが返ってきます。
どうもgeminiと心が通わない。
まとめ
カード化はいいアイデアだと思う。 プロンプトが問題だなあ。