Searching for tagged links

I would like to have a list of tiddlers that are not tagged with a tag beginning with TOC-c.

What would be the proper syntax for such a list?

I was just looking into this and any solution needs testing. Can you share a small set of test data?

I am thinking something along the line of [all[current]tags[]prefix[TOC-c]count[]] but I know this is incomplete. It can be a little tricky asking for the “not tagged with prefixed”, here if the number 0 is returned there is no tag with that prefix. So this could be extended to read [all[current]tags[]prefix[TOC-c]count[]match[0]then[none]else[]]

<<list-links "[all[tiddlers]!is[system]!search:tags:anchored[TOC-c]]">>

I think this might be better as a :filter, so that your titles stay intact:

       [tag[TestTag]] :filter[tags[]prefix[TOC-c]count[]match[0]]
<!--  `-------------',
                     `+ or `[all[tiddlers]]` or whatever                           -->

But regardless, this looks like a better solution:

I’d never noticed anchored before. Very nice!

I wanted to introduce “do not include the tags Temp, SSH and Git” and I edited it to

<<list-links "[all[tiddlers]!is[system]![tag[Temp]![tag[SSH]![tag[Git]!search:tags:anchored[TOC-c]]">>
but it still includes tiddlers tagged Temp, SSH and Git in the output list.

How about something like this?

[all[tiddlers]!is[system]!search:tags:anchored[TOC-c]] -[tag[Temp]] -[tag[SSH]] -[tag[Git]]

Try "[all[tiddlers]!is[system]!tag[Temp]!tag[SSH]!tag[Git]!search:tags:anchored[TOC-c]]"

If one filter operator follows on from the last you dont need to open and close that, or you are just creating a new filter run, to make things more complex you placed the ! outside the operator.

There is one pair of outer [all ... ] square brackets. You did this correctly with !is[system] and !search

1 Like

Thank you. I see what I did wrong there. :blush:

Thank you. This worked too!