<$list filter="[tag[TableOfContents]]">
   <$set name=1st value={{{ [all[current]split[]first[]] }}}>
   <$set name=1stWord value={{{ [all[current]split[ ]first[]] }}}>
        <<1st>> <<1stWord>> <$link/><br>
   </$set></$set>
</$list>

is really what I wanted to know how to do. I failed to spot your message. 
Many thanks Tones!

Le lundi 26 octobre 2020 à 23:51:59 UTC+1, TW Tones a écrit :

> Jean-Pierre,
>
> Please do say what you want to do with the first word / letter ?
>
>    - Below are some examples that should solve your issues
>    - Filters as a rule generate one output so I like to focus on the 
>    selected tiddler then process it later.
>
>
> Thanks for sharing code that works on TiddlyWiki.com, my examples do so as 
> well.
>
> If it is only for some display purpose you can keep the list focused on 
> the selected tiddlers and use triple curly braces (filtered Transclusions) 
>
> <$list filter="[tag[TableOfContents]]">
>    {{{ [all[current]split[]first[]] }}}, {{{ [all[current]split[ ]first[]] 
> }}}, <$link/><br>
> </$list>
>
> You can also use HTML
>
> <style>
> p.uppercase {
>   text-transform: uppercase;
> }
>
> p.lowercase {
>   text-transform: lowercase;
> }
>
> p.capitalize {
>   text-transform: capitalize;
> }
> </style>
>
>
> <$list filter="[tag[TableOfContents]]">
> <p class="uppercase"><<currentTiddler>></p>
> <p class="lowercase"><<currentTiddler>></p>
> <p class="capitalize"><<currentTiddler>></p>
> <hr>
> </$list>
>
> But if you need the 1st letter and first word as variables do this.
>
> <$list filter="[tag[TableOfContents]]">
>    <$set name=1st value={{{ [all[current]split[]first[]] }}}>
>    <$set name=1stWord value={{{ [all[current]split[ ]first[]] }}}>
>         <<1st>> <<1stWord>> <$link/><br>
>    </$set></$set>
> </$list>
>
> Regards
> Tones
>
> On Tuesday, 27 October 2020 09:10:59 UTC+11, Jean-Pierre Rivière wrote:
>>
>> good points. OK, I'll do the rwo lists imbicated. Yet, I cannot see why I 
>> get exactly the same results in the two lists below.
>>
>>
>> <$set name="chrome" value="[tag[Chrome]]">
>> <$list 
>> filter="[subfilter<chrome>lowercase[]sentencecase[]splitregexp[\W]!is[blank]addprefix[
>>  
>> * ]]"/>
>> </$set>
>>
>> <$set name="chrome" value="[tag[Chrome]]">
>> <$list 
>> filter="[tag[Chrome]lowercase[]sentencecase[]splitregexp[\W]!is[blank]addprefix[
>>  
>> * ]]"/>
>> </$set>
>>
>> which is
>>
>> * noteself * by * danielo * rodr * guez * savetiddlers * extension * for 
>> * chrome * and * firefox * by * buggyj * Emergency * tiddler * export * 
>> Saving * on * tiddlyspot * Saving * to * a * git * service * Saving * via * 
>> a * minimal * ruby * server * Saving * via * webdav * Saving * with * the * 
>> html5 * fallback * saver * Tiddlydrive * add * on * for * google * drive * 
>> by * joshua * stubbs * Tiddlywiki * cloud * Timimi * webextension * and * 
>> native * host * by * riz
>>
>> And same with
>>
>> <$set name="chrome" value="[tag[Chrome]]">
>> <$list 
>> filter="[subfilter<chrome>lowercase[]sentencecase[]splitregexp[\W]!is[blank]first[]]"/>
>> </$set>
>>
>> <$set name="chrome" value="[tag[Chrome]]">
>> <$list 
>> filter="[tag[Chrome]lowercase[]sentencecase[]splitregexp[\W]!is[blank]first[]]"/>
>> </$set>
>>
>> where the result is:
>>
>> noteself
>>
>> (from ~"noteself" by danielo rodríguez~)
>>
>> What's the use of subfilter in real life? It seems such a strange beast. 
>> I'm really confused. I wish there be an equivalent of map() found in 
>> functional language. I thought subfilter was just that but visibly it is 
>> not.
>>
>> with map I would code:
>> <$set name="chrome" value="[tag[Chrome]]">
>> <$list 
>> filter="[subfilter<chrome>lowercase[]sentencecase[]splitregexp[\W]!is[blank]first[]]"/>
>> </$set>
>>
>> In fact, I'm perplex when reading the subfilter help and the examples 
>> don't help me. In particular, I am at odds with the input and the parameter 
>> S. S is said to be a filter expression. And the outpur is the selection of 
>> titles returned from the subfilter S. Let's see.
>>
>> in the complete filter below, what is the input and what is the parameter 
>> S?
>>
>> [subfilter[one two three]addsuffix[!]]
>>
>> input should be: every tiddlers (but system tiddlers).
>> S is <<one two three>> and so S is a collection of three tiddler titles.
>> The output of subfilter is S, right?
>> Although it does not seems so because [[one two three]addsuffix[!]] does 
>> not produce the same result ("one two three!" instead of "one! two! 
>> three!").
>>
>> Le lundi 26 octobre 2020 à 19:00:52 UTC+1, Mark S. a écrit :
>>
>>> There are two mistakes in this:
>>>
>>> <list filter="[subfilter<chrome> splitregexp[\W]!is[blank]first[]]"/>
>>>
>>> 1. It should be $list.  2. There is a space in front of splitregexp.
>>>
>>> Unfortunately, using a subfilter won't allow you to process the tiddlers 
>>> the way you want. You will need a nested loop, with the outer list finding 
>>> the tiddlers and the inner list extracting the first word.
>>>
>>>
>>>
>>> On Monday, October 26, 2020 at 10:41:29 AM UTC-7, Jean-Pierre Rivière 
>>> wrote:
>>>>
>>>> I have a liste of tiddlers (got with something like 
>>>> filter="[tag[foo]]") of which I want the first word/letter.
>>>>
>>>> For only the last single title I get the first word with 
>>>> filter="[tag[Chrome]last[]splitregexp[\W]!is[blank]first[]]"
>>>>
>>>> Now, how to get it for all the titles, entirely within a single filter 
>>>> if possible (I'd rather avoid a list widget to achieve that)? Definitely 
>>>> something to do with subfilter. But no, I still can't get it. Frustrating. 
>>>> My initial coding:
>>>>
>>>> <$set name="chrome" value="[tag[Chrome]]">
>>>> <list filter="[subfilter<chrome> splitregexp[\W]!is[blank]first[]]"/>
>>>> </$set>
>>>>
>>>>
>>>>

-- 
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/2bd891d7-fa3c-4ba5-82db-71a50f507333n%40googlegroups.com.

Reply via email to