Help with a filter: Return a list of all tiddlers with a particular tag, excluding any that are tagged with the title of any other entry in the list

76 views
Skip to first unread message

si

unread,
May 19, 2020, 1:28:32 PM5/19/20
to tiddl...@googlegroups.com
This is really awkward to explain but hopefully this example will make it clear what I'm trying to do.

Say I have the following tiddlers, all of which are tagged website:

* Google
* Microsoft
* Google Docs (also tagged with Google)
* Gmail (also tagged with Google)

I want to return a list of all the tiddlers tagged website, excluding any tiddlers that are tagged with the title of any other tiddlers in the list.

So in the above example the filter would return only Google and Microsoft because the other two tiddlers are tagged Google, which is already in the list.

Thanks in advance for your help.

Mark S.

unread,
May 19, 2020, 2:11:20 PM5/19/20
to TiddlyWiki

Try

\define filter-web()
<$vars lb="[" rb="]"><$list filter="[tag[website]]">!tag<$text text=<<lb>>/><<currentTiddler>><$text text=<<rb>>/></$list></$vars>
\end

<$vars lb="[" rb="]">
<$wikify name=filt text={{{[<filter-web>addprefix<lb>addsuffix<rb>]}}}>

<$list filter="[tag[website]] +[subfilter<filt>]">

</$list>


Mat

unread,
May 19, 2020, 2:40:04 PM5/19/20
to TiddlyWiki
(Probably going to upset Mark but...) I think it is the very same question Gifford asked about the other day where you (si) clarified my reply, i.e:

<$list filter="""[tag[website]] -[tag[website]tagging[]]""">

</$list>

<:-)

si

unread,
May 19, 2020, 2:54:22 PM5/19/20
to TiddlyWiki
Haha yes it is, I did not spot that!

Thanks a lot to you both.

Xavier Cazin

unread,
May 24, 2020, 4:15:58 AM5/24/20
to tiddl...@googlegroups.com
Hi si,

That would be "[tag[website]] -[tag[website]tagging[]]".

Cheers,
-- Xavier.


On Tue, May 19, 2020 at 7:28 PM si <matthew...@gmail.com> wrote:
This is really awkward to explain but hopefully this example will make it clear what I'm trying to do.

Say I have the following tiddlers, all of which are tagged website:

* Google
* Microsoft
* Google Docs (also tagged with Google)
* Gmail (also tagged with Google)

I want to return a list of all the tiddlers tagged website, excluding any tiddlers that are tagged with the title of any other tiddlers in the list.

So in the above example the filter would return only Google and Microsoft, because the other two tiddlers are tagged Google, which is already in the list.

Thanks in advance for you help.

--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/3bb4796d-93d3-4428-b897-df7b097ead7a%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages