Mark,
 I want to document this for further reference, could you give some more 
explanation of the rules?

I know I can nest widgets like
<$tiddler ....
 <$list ....

or I can use wikitext inside widgets like

<$set value={{}}

I appreciate to explain me in more details.


Best
Mohammad

On Tuesday, January 8, 2019 at 8:19:02 AM UTC+3:30, Mark S. wrote:
>
> Wow, I didn't realize search had changed so much. I really need to pay 
> attention to those release notes.
>
> The five laws of concatenation, which I just made up:
>
> Wikitext can't eat Wikitext
> Wikitext can't eat Widgets
> Widgets can't eat Widgets
> Widgets CAN eat Wikitext.
> Wikify can sometimes bend laws 1 through 3
>
> The following version may be too distant from what you wanted, but might 
> serve as a start. It did work in my quick test:
>
> \define ppfilter(pp) [tag[data_page]search:text:literal["father": 
> "{{!!parent_page}}"]]
>
> <$wikify name=search text=<<ppfilter>>> 
> Variable: <<search>>
> <$list filter=<<search>> >
>
> * Search Result: {{!!title}}
> </$list>
> </$wikify>
>
> HTH
> -- Mark
>
>
> On Monday, January 7, 2019 at 8:17:10 PM UTC-8, D X wrote:
>>
>> I imagine I'm missing something obvious, but I'm unable to construct a 
>> working filter to search JSON tiddlers for a specified field value on TW 
>> 5.1.18. Concat() is a usual $1$$2$$3$, etc. macro. Here are a few 
>> variations that don't work for me:
>>
>> 1. Non-$macrocall, single brace field ref, quote-delimited:
>> <$set name=search value=<<concat "'" 
>> '[tag[data_page]search:text:literal["father": "' {!!parent_page} '"]]' "'" 
>> >> > 
>> Variable: <<search>>
>> <$list filter=<<search>> >
>>
>> * Search Result: {{!!title}}
>> </$list>
>> </$set>
>> Output 1:
>> search: '[tag[data_page]search:text:literal["father": 
>> "{!!parent_page}"]]'
>>    
>>    - list: [tag[data_page]search:text:literal["father": 
>>    "{!!parent_page}"]]
>>
>>
>> 2. Non-$macrocall, double brace field ref, quote-delimited:
>> <$set name=search value=<<concat "'" 
>> '[tag[data_page]search:text:literal["father": "' {{!!parent_page}} '"]]' 
>> "'" >> > 
>> search: <<search>>
>> <$list filter=<<search>> >
>>
>> * list: {{!!title}}
>> </$list>
>> </$set>
>> Output 2:
>> search: '[tag[data_page]search:text:literal["father": "Kyle"]]'
>>    
>>    - list: [tag[data_page]search:text:literal["father": ""]]
>>
>>
>> 3. Non-$macrocall, double brace field ref, non-quote-delimited:
>> <$set name=search value=<<concat  
>> '[tag[data_page]search:text:literal["father": "' {{!!parent_page}} '"]]' >> 
>> > 
>> search: <<search>>
>> <$list filter=<<search>> >
>>
>> * list: {{!!title}}
>> </$list>
>> </$set>
>> Output 3:
>> search: [tag[data_page]search:text:literal["father": "Kyle"]]
>> --LIST DOESN'T RETURN RESULTS--
>>
>> 4. $macrocall, double brace field ref, non-quote-delimited:
>> <$set name=search value=<$macrocall concat  
>> 1='[tag[data_page]search:text:literal["father": "' 2={{!!parent_page}} 
>> 3='"]]' /> > 
>> search: <<search>>
>> <$list filter=<<search>> >
>>
>> * list: {{!!title}}
>> </$list>
>> </$set>
>>
>> Output 4:
>> <$set name=search value=<$macrocall concat 
>> 1='[tag[data_page]search:text:literal["father": "' 2=Kyle 3='"]]' 
>> </$macrocall> > search: 
>> --LIST RETURNS EVERY TIDDLER--
>>
>> Seems like the quote delimiting is broken here, but I don't see the 
>> issue. What's more, trying to close the <$macrocall> tag with /> seems to 
>> be closing the <$set> macro as well.
>>
>> And there are a few other permutations of the above, none of which work. 
>> =/ Help welcome and thanks in advance!
>>
>

-- 
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/cc90b1b3-e1d3-48bb-a3c3-e3b355ce0abc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to