TIP: Keep Up with Holiday Gifting using Three-State Tasks

When it’s holiday season, I’m often trying to keep up with gift ideas for my friends and family, but in the days of online ordering, I’ve found it’s hard to know what state a gift idea is in…is it just an idea? Did I order it online? …or I have actually received the item.

With three-state tasks, it’s easy to keep up with each of those state. When I have an idea, I add it a list in a draft as an incomplete tasks ({ }). When I’m done researching/shopping it and order it, I tap that item to put it in an in-progress state ({-}), and when I’ve received the order and hidden it away in the closet, I mark it done ({x}).

Custom syntaxes and task definitions in Drafts make this a lot easier.


In the default Markdown syntaxes that ship with Drafts, you can create tappable tasks by typing [ ] in your text. This is great for simple on-off checkboxes, but sometimes you have more than two states to track.

Custom syntaxes in Drafts can define additional types of tasks. The SimpleList+ syntax is a great example. It supports square bracket on-off tasks ([ ]) like the Markdown syntaxes, but also includes support for three-state tasks using curly braces ({ }). If you type { } (open-close curly braces with a space between), at the beginning of a list lin, you create such a task…tapping it will rotate the task between { }, {-}, and {x}. In the done state, it will even apply strike-through formatting to the line.


To try out this system:

  • Install the SimpleList+ custom syntax from the Directory (follow link, tap the “install” button).
  • Open Drafts, create a new draft and assign it the new “SimpleList+” syntax you just installed. You can do this in the Aa settings on iOS, or the syntax dropdown below the editor on Mac.
  • Start a Markdown-style list, by typing - { } at the beginning of a line and then some text.

That’s it! The { } will become tappable, and you can toggle its state as you order and receive items.


I say it often, but I really do appreciate the kind of flexibility and customisation Drafts allows for in things like this.


Pardon me for being daft when it comes to my drafts (heee sorry), but is there an action/button somewhere for this magical tri-state task? I looked thru the directory extensively, or so I thought….

Thank you!

Try this example action. It works like the default “Toggle Tasks” action, but for { } style tasks.

1 Like

thanks for the awesome information.