# Dataview Format
The Tasks plugin's "dataview format" (also usable on its own, without the Tasks plugin, since Dataview (opens new window) inline fields are plain text) writes task metadata as inline fields instead of emoji:
- [ ] Buy milk [due:: 2025-05-17]
If you enable this setting, the above line is recognized as a reminder, firing on 2025-05-17 at the default reminder time.
Neither the Tasks plugin nor Dataview needs to be installed: this plugin
only reads and writes the [key:: value] text, so enabling this format
never depends on any other plugin.
# Field table
| Field | Meaning |
|---|---|
due | Due date. Used as the reminder date when no reminder field (below) is present. |
reminder field name (default reminder) | A reminder date/time distinct from due. When present on a line, it wins over due for that line — no global toggle needed, unlike the Tasks plugin's own ⏰/📅 distinction. |
completion | Written automatically when the task is marked done. |
repeat | Recurrence text (e.g. every week), same syntax as the Tasks plugin's 🔁. |
scheduled, start | Recognized so they're stripped from the notification title, but otherwise unused. |
Fields can be written with either delimiter style:
- [ ] Buy milk [due:: 2025-05-17]
- [ ] Buy milk (due:: 2025-05-17)
Any other inline field (e.g. [priority:: high]) is left untouched in the
notification title.
# Time part
Like the Tasks plugin format, a time can be added to the due date or the reminder field:
- [ ] Buy milk [due:: 2025-05-17T09:00]
- [ ] Buy milk [due:: 2025-05-17 09:00]
Both the T-separated (Dataview's native datetime shape) and the
space-separated shapes are accepted when reading. When the plugin itself
writes a value back (snooze, calendar popup, recurrence), it always uses
the T-separated shape so the value stays parsable by Dataview as a real
datetime.
Note
Field values are parsed strictly as YYYY-MM-DDTHH:mm, YYYY-MM-DD HH:mm,
or YYYY-MM-DD. Any other value (including trailing garbage) is ignored —
that line simply won't produce a reminder. This format isn't affected by
the Strict Date format setting, since these
values are machine-formatted to begin with.
# Distinguish due date and reminder date
Set the reminder field name (default
reminder) and add that field to a line that also has due:
- [ ] Buy milk [reminder:: 2025-05-16 18:00] [due:: 2025-05-17]
The reminder fires on 2025-05-16 18:00 (not 2025-05-17). Snoozing this
reminder rewrites the reminder field, leaving due untouched.
# Recurring tasks
- [ ] Buy milk [repeat:: every week] [due:: 2025-05-17]
When you toggle checklist status,
the next occurrence is inserted above (with due, and the reminder field
when present, both advanced), and the completed line gets a completion
field:
- [ ] Buy milk [repeat:: every week] [due:: 2025-05-24]
- [x] Buy milk [repeat:: every week] [due:: 2025-05-17] [completion:: 2025-05-17]
# Works with the Tasks plugin's Dataview task format
This is the same syntax the Tasks plugin itself writes when its own Task format setting (opens new window) is set to "Dataview". If you already use the Tasks plugin in that mode, enabling this format is all that's needed for its tasks to also produce reminders — see the Tasks plugin guide for the reverse pointer.