ObsidianのDataviewで習慣トラッキングを始めた
- Categories :
- 知的生活
前からObsidianで習慣トラッカー的なことをやりたいと思っていて、1,2回挫折したりしていた。
今日気が向いたので色々調べてみたところ、専用のプラグインを使うよりもDataview+Propertyで意外と簡単にできるということがわかり、やってみた。
結果、シンプルなものがサクッとできたので、やり方をメモしておく。
手順
1. Dataviewプラグインのインストール
これをインストール。
2. デイリーページのプロパティを追加
日々チェックをしたい習慣を、デイリーページのプロパティとして追加する。
参考ページでは英語の文字列を使っているけれども、日本語でも問題なく動作した。
気をつけるのは、プロパティタイプから「チェックボックス」を選択すること。違うものでもできないことはないはずだが、今回自分が参考にしたDataviewの内容だと、チェックボックス用に書かれたサンプルだったので、それにあわせている。
3. 任意のページに以下の内容を追加
```dataview
TABLE WITHOUT ID file.link as Date,
choice(読書 = True, "💚", "🤍") as 📚,
choice(執筆 = True, "💚", "🤍") as 🖊️,
choice(運動 = True, "💚", "🤍") as 🏃,
choice(英語 = True, "💚", "🤍") as 📣
FROM "1_Daily"
WHERE file.day <= date(now) AND file.day >= date(now) - dur(8days)
SORT file.day ASC
```
choice~
のところで、指定したプロパティ(読書、執筆など)にチェックが入っている=Trueだったら、緑色のハートを、そうでなければ白色のハートを表示するようになっている。
行末のemojiは、テーブルの列見出しに該当。
FROM "1_Daily"
は、デイリーページの含まれるフォルダ名を指定している。直下だけでなく配下のフォルダは全て対象になるらしい。ここは自分の環境にあったものに要変更。
WHERE~
のところで、デイリーページの対象範囲を指定している。*daysのところを変更すると、過去何日分の結果を表示するかが決まる。
4. デイリーページのプロパティで、実施したものにチェック
チェックを入れると、数秒は待つものの、反映される。