After some more work, I have seen this:

\define themorama() [tag[thème]]

<$list filter="[subfilter<themorama>]+[get[theme]]">
$$$ <$link/>
</$list>

<$list filter="[tag[thème]get[theme]]">
(T) <$link/>
</$list>

the two list have the same functionnality. The syntax is different. Other 
than a question of taste, or of giving a meaningful name to a complex 
filter preceding the get operator in my example, it seems that subfilter 
has no other intterest, isn't it?

Le mardi 27 octobre 2020 à 00:57:45 UTC+1, TW Tones a écrit :

> Mark,
>
> One compelling use of the subfilter is to access a list and apply it to 
> another;
>
> \define system-tags() text title modified modifier created creator tags 
> list list-after list-before caption type
>
> <$list filter="[fields[]!subfilter<system-tags>]">
>
> </$list>
>
> The advantage being you can create global macros to use as a list.
>
> That list can be used directly
> <$list filter="[subfilter<system-tags>]">
>
> </$list>
>
> So this is in fact a way to do *"named" filters* for use as needed.
>
> So you can use this method to create logically named filters.
>
> \define chapters() [tag[TableOfContents]]
>
> <$list filter="[subfilter<chapters>]">
>
> </$list>
>
> Also I will point out that the pre-release includes a new operator 
> https://tiddlywiki.com/prerelease/#filter%20Operator
>
> One of the key advantages of the subfilter is that it can use a macro 
> which defines a "full filter" that can be used on its own;
> <$list filter=<<chapters>> >
>
> </$list>
> But also have it become part of another filter as in my first example this 
> demands the subfilter operator.
>
> So we could have am alternate name for subfilter "named filters".
>
> Regards
> Tones
>
>
>
>
> On Tuesday, 27 October 2020 09:53:30 UTC+11, Mark S. wrote:
>>
>> subfilter doesn't do "map" or any of those neat things. It just allows a 
>> variable that you may have constructed outside the main filter to be used 
>> as an additional filter. Personally I haven't found it to be that useful.
>>
>> [[tag[HelloThere]subfilter<variable-with-filter-that-does-other-things>]
>>
>>
>>
>>> [subfilter[one two three]addsuffix[!]]
>>>
>>>
>> Is same as 
>>
>> "one two three +[addsuffix[!]]"
>>  
>> so the result is
>>
>> one!
>> two!
>> three!
>>
>> It doesn't filter out all tiddlers -- it generates three "tiddlers" (one, 
>> two, three).
>>
>> The problem with splitregexp is that it splits ALL the tiddlers it 
>> receives and puts out all the pieces. 
>>
>> With the split tool in https://github.com/Jermolene/TiddlyWiki5/pull/2963 
>> you could do this in one list statement.
>>
>> Anyway, here's some code that does sort of what you want, but for 
>> TiddlyWiki.com :
>>
>> \define my-splitting-headache()
>> <$set name="chrome" value="[tag[HelloThere]]">
>> <$list filter="[subfilter<chrome>]" >
>> <$list filter="[<currentTiddler>splitregexp[\W]!is[blank]first[]]"/>
>> </$list>
>> </$set>
>> \end
>>
>> <$wikify text=<<my-splitting-headache>> name=headache>
>> <$list filter="[<headache>sort[]]" />
>> </$wikify>
>>
>>
>>
>> Note that there are two listed lists inside a macro. These lists find all 
>> your tiddlers defined by <chrome>, split them one by one, and the result is 
>> returned.
>>
>> The macro is invoked by the Wikify widget, so that the combined results 
>> are rendered and turned back into a single list. Those results are in 
>> turned sorted by the final list widget.
>>  
>> HTH
>>
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/d4cdf457-a325-40f8-b2bf-62297524fb1dn%40googlegroups.com.

Reply via email to