Jazzと読書の日々

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

ObsidianをOutlinerに変換するスクリプト

下書きは箇条書きで書いて、推敲はアウトライナーを使う。 そういうのがいいなあ。 スクリプトでできないかなあ。

Outlines.md

とりあえず考えてみたのがこんな感じです。 Templater用スクリプト。 Commanderでタブバーに追加してください。

<%*
s = tp.file.content;
h = "";
if(/^---+\n/.test(s)){
  d = s.split("---\n");
  a = d.shift();
  b = d.shift();
  h = a + "---\n" + b + "---\n";
  s = d.join("---\n");
}
if(s[0]== "-"){
 s = s.replace(/^\s\s- /mg,"\t");
 s = s.replace(/^\s\s+- /mg,"");
 s = s.replace(/^\t/mg,"\n");
 s = s.replace(/^- /, "");
 s = h + s;
}else{
  s = s.replace(/\n\n+?/g, "\n\t");
  s = s.replace(/\n/g, "\n    - ");
  s = s.replace(/    - \t/g,"  - ");
  s = s.replace(/^\n+\s*-*\s*/, "");
  s = h + "- " + s;
}
e = app.workspace.activeLeaf.view.editor;
e.setValue(s);
%>

使い方

実行すると、箇条書きをアウトライン形式に変換します。 空行を区切りと見なし、段落の一行目を親トピック、二行目以降を子トピックに配置します。

すでにアウトライン形式のときは、空行区切りの箇条書きに戻します。

アウトライナー

Obsidianはアウトライナーに変身できる。 コミュニティプラグインのOutlinerとZoomを使います。 行や段落の並べ替えもできるし、段落に集中もできる。

推敲のときはこのモードの方が使いやすいです。

まとめ

エディタとアウトライナーのいいとこ取り。