ごらくらいふ

プログラミングしたりゲームしたり

Thino(旧Obsidian-memos)の代わりにQuickAddを使うようにした

Obsidian-memos という Obsidianプラグインがv2.0へバージョンアップしたことに合わせ、 Thino というものに改名、変質した。課金導線も整えられており、マルチレイアウトに始まりローカルサーバーが建てられるようになっていたりと、(人の褌でよくもまぁそこまでできるなという気持ちもあるが) アプリケーションの上にプラグインでもう一つアプリケーションが乗っているような状況である。

自分の用途としては、デイリーノートの特定の見出しにちょっとメモを追加できる機能こそが求められていたので、Thinoのような多機能は求めるところにない。なので、QuickAdd というプラグインを使ってみることにした。

github.com

note.com

QuickAdd で一行メモを使うまでの手順はこちらの記事が参考になった。

自分の場合、 Journals という見出しを Tweets として運用している。 よって、以下では「一行メモ」のことを「呟き」と呼称する。

Obsidian-memos とはどんなプラグインだったか

GitHub - Quorafind/Obsidian-Thino: A quick capture plugin for Obsidian, all data from your notes.

Obsidian-memos(現Thino)とは、デイリーノートに呟きを追記するためのUIを提供するプラグインだった。 入力用のテキストボックスのほか、過去の呟きが時系列を遡るように列挙され、個別に編集することもでき、過去どれだけ呟いたかGitHubの草のように表現していた。 まるでTwitterで呟くかのように雑多に書きこむ事ができた。

QuickAdd を使ってみて

  • タイムスタンプが HH:mm:ss 表記に対応していてよい
    • いくらか自由にフォーマットを指定できる
    • memosでは、 HH:mm に固定されていたため、秒単位で書き込んでいると表示に不整合が起きることもあった
  • 検索性、あるいは一覧性は下がった
    • ビューワーが無いため、スクロールで振り返るような使い方ができなくなった
    • Vault内検索で path:daily section:(Journal) などとすれば、呟きの検索は可能だ
  • 専用の呟きペインが無いのは手軽さが減少したかも
    • ポップアップした入力欄に書き込むので、呟くことに集中させられる圧を感じなくもない

過去の呟きを収集する実装を想像してみる

ここで一旦、Obsidianプラグインとしてどのように過去の呟きを収集していたのだろうかと想像してみたい。

  1. 今日を起点にデイリーノートを取得する
  2. そのファイルから、対象の見出し以下にあるコンテンツを抽出する
  3. コンテンツからフォーマットに合致する行を抽出し、整形して表示する
  4. ひとつ前のデイリーノートを取得し、同様に繰り返す

この繰り返しはいつまで続くだろうか。デイリーノートが見つからなくなるまで?工夫すれば、ペインをスクロールする必要が発生するまで?まぁこのあたりが順当なところだろう。

プラグインにとって、ひとつのデイリーノートに呟きがあるかは未知だ。 Obsidianを通して書き込むことができ、読み込むことができても、そのファイルを所有しているわけではない。プラグインが稼働していない間にファイルが変更される可能性があるのは原則だ。

たとえばこれまでデイリーノートを毎日書き込んできて、ある日 Obsidian-memos(Thino) を入れたとする。そのデイリーノートには呟きはないのだから、プラグインが起動するたびに全件のデイリーノートを読み込む恐れさえある。

まぁ、人間はたかだか100年も生きられるか分からないので、デイリーノートは36500ファイル、その半分を超えられるかも疑わしい。全件読み込むコストなんて屁でもない。ブロックサイズ4KBなら、1万件で 40MB くらいなものだ。 だが、なんだか気持ち悪くないか?

過去の呟きをどう見ていくか

過去の呟きをスクロールして見ていくというのは無駄が多い。直近のものからしか遡れないし、目的の言葉があるなら検索したほうが速いからだ。

しかし、機能としてできなくなった事を「あれは無駄だったから」などといって慰めるのはみっともない強がりというもの。代替手段はあるはずだ。

Daily Notes Editor プラグインを使う

github.com

これはデイリーノートを一枚のペインでインラインに表示し、表示だけでなく編集できるプラグインだ。デイリーノートがまるまる見えるので呟き以外の情報をまとめている人にさらに便利かもしれない。

自分の場合は中身があったりなかったりする見出しがあり、ノイズに感じるところもあった。このあたりはテンプレートの相性もあるだろう。

スクロールしてペインの末尾にいったら更にデイリーノートを読み込む挙動をしている。

この相性の悪さだ

Calendar プラグインを使う

github.com

これはカレンダーペインを表示するプラグインだが、各日付をクリックするとデイリーノートを開くことができる。

「あの日なに言ってたっけ」とダイレクトに見返すことができる。

当月であれば、クイックスイッチャーでデイリーノートを直接開くよりも手間が少ないかも。

Periodic Notes プラグインを使う

github.com

これはデイリーノートのほか、ウィークリーノートやマンスリーノートの作成を支援するプラグインだ。実はこのプラグインには「前の日(次の日)のデイリーノートノートを開く」コマンドが同梱されている。 これにホットキーを割り当てれば、次々と過去のデイリーノートをめくることが可能になる。

前述のようなプラグインが勝手に次々とファイルを読み込む仕組みに比べて、好ましいと思う。

いまのところ

QuickAdd に移行というか、呟き自体がそんなにまだない。(とりあえず新規ノート立てて雑多に書くか、ツイートしだすタイプ) 呟きはQuickAddを使いつつ、過去の参照はもっぱら検索を使っている。