Marking Notes as Done


#1

I’m most likely missing something here, being a complete newbie, but I’ve looked on this forum and can’t find the answer to a simple question I have.

When I add a note I envisaged it to be just that, i.e. subordinate to a parent entry and as-such it would not be possible to mark a note as @done, but it seems that I can, which is confusing me.

Also if I mark a task as @done I would expect then underlying note to be crossed-out too.

Thoughts appreciated.


#2

In TaskPaper’s model you have a outline structure of “items”. Each item has a type (project, task, note) and each item can have associated attributes (tags). And that’s about it.

The reason that @done causes strikethrough formatting isn’t because of any special understanding of “done” baked into TaskPaper’s code, instead it’s because there is this rule in TaskPaper’s default stylesheet:

item[data-done] {
  > run[content] {
    text-strikethrough: NSUnderlineStyleSingle;
    text-strikethrough-color: @text-color;
  }
}

This setup increases flexibility… there’s not much baked into TaskPaper’s core code, so it can be modified through scripts and stylesheets to work in lots of different ways. TaskPaper files can also be edited in any plain text editor… there are no internal valid/invalid constraints that might be broken when used in another app.

But all of this also means that @done has no special behavior. If you want behavior beyond the default tag attribute behavior you’ll need to add stylesheet rules, or you’ll need to use a script to make changes in a constrained way.

There are lots of scripts & themes here, though none that do exactly what you want I think:


#3

Ah, I see. I’ll have a look at what you say and read the documentation, thanks.

Before I dive in, so is it possible to completely disable/disallow the “@done” functionality for notes using what you suggest?


#4

Depends what you mean by “done functionally”. You you create a style so that notes don’t get strikethrough formatting even when a @done tag is applied to the note. But you can’t make it impossible to type “@done” into a note, thus adding a @done tag.

Generally the TaskPaper approach would be to … if for your data it doesn’t make sense to add @done tags to notes… then just don’t do it! :slight_smile: If you would like to use commands such as Tag > Tag With > Done that can apply the done tag to all selected items you will have a harder time “just don’t doing that”. In that cause you would likely want to write your own script that applied @done to all deleted items (but skipped notes).


#5

Ah thanks for the explanation, I understand now.