やりたいこと
デイリーノートなどで、指定した期間に完了したタスクをリスト表示する
完成イメージ
使うプラグイン
- Dataview
- Tasks
- Templater(あったほうが便利)
コードサンプル
指定した期間に完了したタスクを表示する
```dataview
TASK
FROM "00 - MOC/FinishedTask.md"
WHERE date(2024-10-05) <= completion AND completion < date(2024-10-15)
```
上記のコードサンプルでは、
- FROMのあとで、完了タスクが記載されている対象のファイルを指定
- WHEREのあとで、完了日の範囲を指定
しています。
completion
がタスクの完了日なので、これとdate
を比較して範囲指定しています。
上記の例は、10/5から10/14までの間に完了したタスクをリストアップしています。
Templaterを使う
上のコードサンプルは日付が決め打ちなので、デイリーページなどで「昨日完了したタスク」などを出したい場合は不便です。 そのような場合は、Templaterプラグインを使って、デイリーページ生成時に自動でテンプレート挿入&日付部分の動的設定を行います。
```dataview
TASK
FROM "00 - MOC/FinishedTask.md"
WHERE completion = date(<% tp.date.now(format="YYYY-MM-DD") %>)
```
このコードをデイリーページのテンプレートに記載しておくと、デイリーページ生成時にdate(<% tp.date.now(format="YYYY-MM-DD") %>)
のところが自動でdate(2025-06-06)
のように当日日付になります。
この場合は、Templaterの設定からTrigger Templater on new file creation
を有効化するのをお忘れなく。