段落について考えたらやっぱり欲しい。
Cardy
もともとは行単位で移動するためのスクリプトですが、 段落単位に書き換えてみました。 そうそう、これだ、こっちがほしかったんだ。
そういうわけで、段落単位の操作ができます。
cardy.md
Templaterスクリプト。
<%* s = tp.file.content if(/\n## \n/.test(s)) { p = "\n## \n" d = s.split(p) d.shift() s = d.join(p) s = s.replace (/^ {4}/mg, "") d = s.split("\n- [ ] ") s = d.join("\n\n") p = "\n%% kanban:settings\n" d = s. split(p) if(d.length>1) d.pop() s = d.join(p).trim() + "\n" } else { d = s.split("\n\n") s = d.join("\n- [ ] ") s = `---\nkanban-plugin: list\n---\n## \n\n- [ ] ${s}` } e = app.workspace.activeLeaf.view.editor e.setValue(s) await app.workspace.activeLeaf.rebuildView() await new Promise(x => setTimeout(x, 500)) s = "obsidian-kanban:toggle-kanban-view" app.commands.executeCommandById(s) %>
Commanderプラグインでタブバーに置いてお使いください。
使い方
Kanbanプラグインを利用します。
cardy.md
を実行すると、テキストがカンバンのリスト型になります。
こういう感じ。 段落がカードになっていてます。 ドラッグで並べ替えできる。
ファイルメニューの「マークダウンとして開く」で平文に戻るので、
もう一度cardy.md
を実行すると通常のノートになります。
見出しの前に空行を2つ入れると、 その見出し以降は別リストになります。
ボード表示に切り替えると、 セクション間の移動がしやすくなります。 これも楽しい。
【注意】 ただし、見出しが強制的に##
になります。
コードブロックが途中にあると、 それ以降は表示しない不具合があるようです。 コードブロックのあるテキストではお気をつけください。
ゴミ箱付き
右端の三点メニューでカード単位の操作ができます。
注目は「カードをアーカイブ」。 カードを文中から削除できます。 削除しても平文に戻したとき末尾に残る。 アーカイブという小見出しのところに保管される仕組みになっています。
このアーカイブは、タブバーにあるアーカイブ・ボタンを押すと空っぽになる。 そのノートだけの「ゴミ箱」として使えて便利です。
また「カードを分割」を使うと、 段落内が行単位に分割されます。 行単位の移動や削除を行うことができる。 これも地味に役立ちます。
まとめ
『段落論』に「魚の目」と「鳥の目」の話があって 「なるほどなあ」と思いました。 「書くこと」には、ボトムアップな力とトップダウンな力がせめぎ合っている。 それぞれを見る目が書き手には必要。 その場の流れを見る目と、全体の構造を見通す目。
今回のcardyは「鳥の目」ですね。 空中に羽ばたいて地上を見下ろす。 高く飛ぶときは「アウトライン」の目次で、 低空飛行はこのcardyで。