並べることで考える。
liner
アウトライナーで書いてブロック形式に変換。 いい感じだと思ったら落とし穴がありました。 Zoomを使うとインデント幅が違うみたいで linerが誤作動します。
困った。
liner.md
インデント幅を「1から4」にしてみました。
<%* // 見出しのレベル HEAD = "#### " s = tp.file.content front = "" if(/^---\n/.test(s)) { d = s.split("\n---\n") front = d.shift() + "\n---\n" s = d.join("\n---\n") } if(/^\n*- /.test(s)) { s = s.replace(/^-\s+/mg, HEAD) s = s.replace(/^ {1,4}- +/mg, "") s = s.replace(/^ {5,8}/mg, "") } else { s = s.replace(/^(\s*-)/mg, " $1") s = s.replace(/^([^\s-#])/mg, " - $1") s = s.replace(/^#+ /mg, "- ") s = s.replace(/^$/mg, " - ") s = s.replace(/^ /, "") } e = app.workspace.activeLeaf.view.editor e.setValue(front + s) %>
とりあえずこれで回避。
Zoomこそすべて
アウトライナーの妙味はZoomである。 バレットをタップするとその階層だけ抽出表示する。 この集中感で文章がいくらでも書けます。
並べ替えも折り畳みもアウトライナーの特徴です。 階層がオブジェクトになり操作できる。 親リストと子リストで作られた「階層」。 この「階層」を意識させる仕組みになっている。
本来アウトライナーにZoomという考え方はないのですが、 個人的には Workflowy が初めてだったかな、 その階層だけを表示する方法。 これは書き方の革命でした。
ツリーの一部を切り出して、 それが単独のツリーであるかのように振る舞う。 フラクタル構造を描いて 「ファイル」という概念を不要にしています。
まとめ
ということで、Zoom対応版。