はじめに

ObsidianのDataviewは簡単な条件式でファイルを自動で検索・結果を表示するプラグインだ。ただ、基本的には表示のみを行うので表示した結果からデータを操作することはできない。

例えば、DataviewのTableを使用して

このようにプログレスバーを表示したり、チェックボックスを表示することは可能だが、この状態を変化させようと思うと、そのページから編集する必要がある。

この欠点をMeta Bindを使用して解消してみる。

Meta Bindとは

簡単にいうとプロパティの入力UIを作ることができる。右クリックで多様なUIから選択できる。

例えば

`INPUT[date:exampleProperty]`

このように入力するとexamplePropertyというプロパティに日付を入力するUIが出現する。さらに、ファイルパスを指定すると別のファイルのプロパティの入力もできる。

`INPUT[date:file.path#exampleProperty]`

これを利用する。

チェックボックスを作ってみる

例えばcheckというプロパティにtoggleのUIを作る。
Dataviewの表示項目を羅列するところに、

"`INPUT[toggle:" + file.path + "#check]`" as check 

と書くと、

チェックボックスのUIが出現し、ここで操作できるようになる。

文献検索ページにも取り入れてみる

できた。いちいちそのページに飛ばなくても一行要約として使っているプロパティの
descriptionを編集できるようになったし、新規で読んだかチェックするreadというプロパティを追加してみた。

おわりに

Dataviewのfile.path表示でいけるじゃんと急に思いついた。
私の場合、文献検索ページを少なくとも週2回は更新するので少し楽になった。