Jazzと読書の日々

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

もう一度ブロック・エディタを考える

White box minimal|600 Backlink | Photo by Kelli McClintock on Unsplash

どうも自分が探しているのはブロック単位で操作できるエディタらしい。 アウトライナーに始まり、org-modeで洗練化し、いまObsidianでMarkdownとの統合が図られている。 誰かが意図したわけではないし、そんな流れがあるわけではないけれど、エディタの歴史をそうした側面から読み替えることができる。

ツェッテルカステンとか第二の脳とかではない。 ブロックか、そうでないかだ。

チャンク化

「人は七つを超えるブロックを同時には扱えない」。 超えれば堂々巡りか陰謀論に走る。 この仮説が正しいとすれば、アウトライナーが何をしているか説明ができる。 目に入るブロックを七つ以下にするために、折り畳んだりズームしたりする。 それがアウトライナーの根本だ。 そしてそれを文章作成に応用するとorg-modeになる。

見出しと本文のセットをブロックとする。 それが現実という混沌を切り分ける作業である。 無数のドングリを拾い集めても「カゴいっぱい」という単位に落とせば数えることができる。 狩猟採集民の頃からそうしたチャンク化をおこなってきたのだろう。 ブロックという容器を使うことで混沌は操作可能な対象に変容する。 「コンテナ」がコンテンツを代用する。 「分けること」が「わかること」の基盤にある。

コンテナ

紙を使えば簡単だ。 カードや付箋にアイデアを書き、それを箱に分類する。 あとは箱からカードを出しながら模造紙に貼り付けるだけ。 これでプロットは出来上がる。

同じことをデジタルでやりたいのだろうか。 そうだ、やりたい。 デジタルだから、もっとスマートな方法になることを目指して。 それがブロック・エディタである。

そうした視点でorg-modeを見ると完成度が高い。 Markdownよりも筋が通っている。 Markdownは見出しとリストを分けるが、これがブロック性を損ねる。 orgのように未分化なまま*とするのが美しい。 見出しにチェックボックスの機能を付加できるからだ。 つまり、ブロックに性格を付与できる。 その工夫がMarkdownにはない。

Markdownは書類として完成した姿を目指している。 それぞれの行をどう装飾するかに力点がある。 orgは書き掛けの文章だ。 アイデアを書くための区切りが見出しである。 アウトライナーを模倣している。 芽吹いたアイデアを収める器になっている。

そして、エディタに向かうときはいつも「書き掛け」である。 完成した文章を清書しているのではない。 というか「清書」という段階を破棄するのがデジタルの目的だ。 どの段階でブログに公開しても良い。 公開してから手直ししても良い。

イデアに虫ピンを刺す必要はない。 印刷物のように死の匂いはしない。 生きたままの文字と戯れること。 それがブログというプレイグラウンドの性質である。

BlockIn.md

ブロック・ライティングで使うスクリプト。 「ズーム」のあとに「展開」をします。 見出しに合わせて実行すると中身が現れる。

<%*
s = "obsidian-zoom:zoom-in"
app.commands.executeCommandById(s)
s = "editor:unfold-all"
app.commands.executeCommandById(s)
%>

BlockOut.md

上のBlockInとは反対の動き。 「ズームアウト」してから「全体のフォールド」をします。 本文が目次みたいに表示される。

<%*
s = "obsidian-zoom:zoom-out"
app.commands.executeCommandById(s)
s = "editor:fold-all"
app.commands.executeCommandById(s)
%>

この二つで、ツールバーから「ズーム」と「フォールド」関連のボタンを外すことができました。 節約になった。

ズームアウトのときにBlockInをすれば「全体を展開」になるし、反対にBlockOutすれば「全体を折り畳む」になります。 兼用できます。

まとめ

動かなくなったテキストの死骸は「完成品」と呼ばれる。 それが目的だろうか。 ブログは「あるときのテキスト」を写したスナップショットである。