やりたいこと

デイリーノートなどで、指定した期間に完了したタスクをリスト表示する

完成イメージ

Image from Gyazo

使うプラグイン

  • 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を有効化するのをお忘れなく。

Image from Gyazo