Skip to content

Task data format #93

@joereynolds

Description

@joereynolds

We need a way of storing metadata about a task, for example

  • When it was created
  • When it's due
  • When it was cancelled

Got a few ideas so rifle through and the pick the best one, we'll use the same set of examples, 3 tasks

Dishes
eggs
bacon

1. Encode it all in the task

- [ ] Dishes [created:2026-01-01]
- [ ] eggs [created:2026-01-01] [due:2026-01-04]
- [ ] bacon [created:2026-01-01] [cancelled:2026-01-01]

2. Emojis (bleh)

- [ ] Dishes ➕ 2026-01-01
- [ ] eggs  ➕2026-01-01 ⏳2026-01-04
- [ ] bacon ➕ 2026-01-01 ❌ 2026-01-01

3. Ascii/Unicode

- [ ] Dishes +2026-01-01
- [ ] eggs  +2026-01-01 !2026-01-04
- [ ] bacon +2026-01-01 x2026-01-01

Thinking that actually, the symbol should match the obsidian task stuff so:

  • + - created
  • x - completed
  • - - cancelled
  • ! - due (this isn't in the obsidian task format but thought it's worth having)

4. Todo.txt

No.

It would be an awkward mishmash of markdown and todo.txt formats

5. In a separate data file

- [ ] Dishes ➕ 2026-01-01
- [ ] eggs  ➕2026-01-01 ⏳2026-01-04
- [ ] bacon ➕ 2026-01-01 ❌ 2026-01-01

Data file

{
  "todo.md:45": {"created": 2026-01-01},
  "todo.md:46": {"created": 2026-01-01, "due": 2026-01-04},
  "todo.md:47": {"created": 2026-01-01, "cancelled": 2026-01-01},
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions