ノートコンポーザーで切り出したはいいけど、これ、どうやってマージすればいいんだろう。 そんなふうに悩んだこと、ありませんか。
リファクタリング
もちろん切り出したファイルは元に戻せません。 そういう用途ではないからです。 株分けして別々に育てていく。 大きくなったら、また株分けをする。 そんなガーデニングのイメージでノートを育てていきます。
でも、大きくなったらひとまとめにしたいじゃないですか(scrivener脳。
retaker.md
そんなわけで、内蔵リンクを読み込むスクリプトを考えました。
<%* e = app.workspace.activeLeaf.view.editor p = e.getCursor().line s = e.getLine(p) if(/\[.+?\]/.test(s)){ f = s.replace(/.*\[(.+?)\].*/, "$1") path = tp.file.find_tfile(f).path b = app.vault.getAbstractFileByPath(path) if(b){ const c = await app.vault.read(b) e.setLine(p, c) } }else{ new Notice("内部リンクを選んでください。") } %>
カーソル行が内蔵リンクのとき、本文を埋め込みます。
注意
内蔵リンクの判定はアバウトなのでwiki形式にもmarkdown形式にも対応します。 リンク先が存在するかとか、画像や外部リンクじゃないかとかのチェックはしません。
上図のように内蔵リンクで実行すると「注意.md」の内容を埋め込みます。
変な結果になっても責任は持ちません。 丸投げです。
まとめ
読み込んだはいいけど、抽出ファイルはそのまま残ります。 そちらも使うことがあるかもしれないし。