Projects
A project is a note with a marktodo key in its frontmatter, set to anything
other than false.
---marktodo: true---
## Doing
- [/] Demo old floor @high
## Backlog
- [ ] Price new subfloorIn a project note, status headings (## Doing, ## Backlog, …) are kept in
sync with the glyph — change a todo’s status and its line moves to the matching
section.
Any heading level works, # through ######: MarkTodo matches the heading’s
text, not its depth. A project MarkTodo creates for you is scaffolded at ##,
and when it has to add a section that was missing it matches the level of the
status sections already in that part of the note.
The six statuses and their names are
fixed: a Doing heading means the
same thing in every vault, on every device, in the plugin and in the app.
Doing was called Progress in an early version. A ### Progress heading is still
read as Doing, and MarkTodo renames it to ### Doing — at whatever level you
wrote it — the next time it writes to that note.
Subprojects
Section titled “Subprojects”A todo’s subproject is the deepest ancestor heading whose text is not a status label. Both kinds of heading can sit over the same todo:
## Kitchen
### Doing
- [/] Demo old floorThat todo is in the Doing section, under the Kitchen subproject. Nest as deep as you like; the nearest non-status heading above the line wins.
In a note that is not a project, nothing is a status section: ## Doing in a
daily note is a plain grouping like any other heading, and the todos under it
are grouped by it and nothing more.
More frontmatter
Section titled “More frontmatter”Four more keys, read on any note rather than only on projects — a daily-note template can carry them too:
| Key | Does |
|---|---|
marktodo-group: Home |
Files the project under a group in the dashboard |
marktodo-archived: true |
Archives it: still indexed, but out of pickers, boards and lists |
marktodo-cleanup: delete |
Completing a todo in this note removes its line |
marktodo-pinned: true |
Lifts the project to the top of the dashboard, above every group |
The pin lives in the note, not in a setting, because the two programs share
notes and not settings files. It survives a rename the way a path-keyed pin
never could, it arrives on your other devices with the Markdown, and it lets the
Android app pin a project without writing anything under .obsidian.
Cleanup
Section titled “Cleanup”marktodo-cleanup is per note and binary. The default is keep: a note without
the key never loses a line. Archived notes never delete whatever the key says —
archiving exists to preserve history, so it outranks cleanup.
In Obsidian the removal is part of the same write that marks the todo Done. In the Android app it is queued instead and written at the next sync, which leaves you an undo window: uncheck the todo before syncing and the line was never removed.