Jazzと読書の日々

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

Obsidian Outlinerから段差を切り出すスクリプト

ObsidianのOutlinerプラグインでWorkflowyみたいにアイデアを練る。 すると育ってくるトピックが出てきます。 でも「このトピックをブログに仕上げたいなあ」と思ったとき、切り出す方法がないんですよね。 ないなら作るしかありますまい。

LineOut.md

例によってTemplaterスクリプト。 変数FOLDERに保存先を設定してください。 アウトラインを出力するからラインアウトにしました。 ラグビーなイメージ。

<%*
FOLDER = "Inbox/";

s = document.querySelector(".HyperMD-list-line").textContent;
w = new RegExp(s.match(/^\s*/));

s = [...document.querySelectorAll(".HyperMD-list-line")].map(x => x.textContent.replace(/\u200b- /,"- ").replace(w,"")).join("\n");

c = FOLDER + s.split("\n")[0].replace(/\s*- /,"");
f = c + ".md";
p = app.vault.getAbstractFileByPath(f);
k = 1; 
while(p){
  f = c + (k++) + ".md";
  p = app.vault.getAbstractFileByPath(f);
}
p = await app.vault.create(f, s);
await app.workspace.activeLeaf.openFile(p);
%>

ゼロ幅スペース\u200bが埋め込まれていて、それに気づかず苦労しました。

使い方

Outlinerでズームしているとき、表示中のトピックだけ別ファイルに保存します。 親トピックがファイル名になります。 形式はアウトライナーのまま。 ファイルが開いて続行できるタイプです。

アウトライナー

箇条書きを極める上でアウトライナーは必須です。 そしてOutlinerプラグインは充分その任を果たしてくれる。 書き上がったら上記スクリプトで平文に変換しましょう。 見出し記法を付けたら完成です。

まとめ

土の命が形となって草花が開く。 草花は百花繚乱だけど、いずれも一つの産土に根付いている。 根付いているけれど、どの花も姿形は異なっている。

このワンネスとイーチネス。 アウトライナーも同じことなのだろう。 何かのテーマが底にあってそれぞれのテキストが伸びていく。 でも、テキストそれぞれはどれ一つとして同じではない。 互いに異なるところに妙がある。