Thanks a lot Eric, valuable hints to better understand how TW works.
Anyway, "whateveFilterHere" is just pseudo-code written here for the sake
of simplicity. In my actual code there is a true filter, and it works fine,
feeding the correct filtered list of tiddlers to the <$list> widget.
Thanks again and regards, :-)
CG
On Sunday, August 8, 2021 at 9:29:04 PM UTC+3 Eric Shulman wrote:
> \define getMeTiddlerName(a_suffix) $(currentTiddler)$$a_suffix$
>
> In the macro definition above, $(currentTiddler)$ *substitutes the value
> from the currentTiddler variable* and then adds the specified $a_suffix$
> parameter value.
>
> When you wrote this:
> <$list filter="whateveFilterHere">
> <$transclude tiddler=<<getMeTiddlerName "_EN">> /> <br/> <!--
> DOESN'T WORK -->
> </$list>
> The surrounding $list widget *sets the value of the currentTiddler
> variable* to "whateveFilterHere".
> Thus, the macro output was "whateveFilterHere_EN", which almost certainly
> didn't exist in your file, so no transclusion happened.
>
> Then, when you wrote this:
> <<getMeTiddlerName "_EN">>
> to "print to screen the macro output", the macro wasn't contained inside a
> $list widget,
> so the value of currentTiddler was the actual containing tiddler's title,
> and you got the results you expected.
>
> and, when you wrote:
> <$transclude tiddler={{{ [<currentTiddler>addsuffix[_EN]]}}} />
> you used "filtered transclusion" (sometimes referred to as an "inline
> filter") to directly add the "_EN" suffix to the currentTiddler value,
> which was then used as *the value for the "tiddler=..." widget attribute*...
> so you got the results you expected.
>
> Note that, *within the filter syntax, variable references are enclosed in
> angle brackets*, like this:
> <currentTiddler>
> However, when used *outside a filter -- in normal wikitext -- variable
> references use *doubled* angle brackets*, like this:
> <<currentTiddler>>
> This is necessary so that *the variable reference isn't mistaken for
> conventional HTML syntax*, which uses the single angle brackets, e.g.,
> <div>some text here</div>
>
> Hopefully, the above explanations have provided some useful clues :-)
>
> enjoy,
> -e
> Eric Shulman
> TiddlyTools.com: "Small Tools for Big Ideas!"
> On Sunday, August 8, 2021 at 10:41:30 AM UTC-7 CarloGgi wrote:
>
>> Charlie, your solution worked fine!
>>
>> <$transclude tiddler={{{ [<currentTiddler>addsuffix[_EN]]}}} />
>>
>> Still I wonder why the macro way doesn't yield the expected result, but
>> anyway thanksalot for the hint. I will duly commit myself to studying its
>> syntax, quite obscure to me.
>>
>> Regards,
>> CG
>>
>> On Sun, Aug 8, 2021 at 8:14 PM Charlie Veniot <[email protected]> wrote:
>>
>>> I'm thinking most folk prefer the macro route, and that makes sense to
>>> me.
>>>
>>> The way I'm wired, I usually go with transclusions unless I really don't
>>> have a choice. Can't explain it.
>>>
>>> *For the "variety is the spice of life" giggles*:
>>>
>>> <$list filter="whateveFilterHere">
>>> <$transclude tiddler={{{ [<currentTiddler>addsuffix[_EN]]}}} /> <br/>
>>> </$list>
>>>
>>> But that would be a pain in the caboose if spread all over the place.
>>>
>>> So sticking with my transclusion mentality...
>>>
>>> <$list filter="whateveFilterHere">
>>> {{||EN_Maker}} <br/>
>>> </$list>
>>>
>>> The tiddler "En_Maker" is a transclusion template tiddler with the
>>> following content:
>>>
>>> <$transclude tiddler={{{ [<currentTiddler>addsuffix[_EN]]}}} />
>>>
>>> Yeah, I'm quirky that way ...
>>>
>>> On Sunday, August 8, 2021 at 1:08:29 PM UTC-3 CarloGgi wrote:
>>>
>>>>
>>>> Hallo,
>>>> quite new to TW and I love it, though it is dramatically
>>>> underdocumented and the whole docs are an almost unusable mess.
>>>>
>>>> To my biggest astonishment, when I try to dynamically build the name of
>>>> a tiddler from inisde a macro, that macro output cannot be used from
>>>> within
>>>> a transclude widget.
>>>>
>>>> \define getMeTiddlerName(a_suffix) <<currentTiddler>>$a_suffix$
>>>>
>>>> <$list filter="whateveFilterHere">
>>>> <$transclude tiddler=<<getMeTiddlerName "_EN">> /> <br/>
>>>> </$list>
>>>>
>>>> In the example above, I obtain the tiddler's name by adding suffix 'EN'
>>>> to current tiddler, which the macro DOES, but then its output
>>>> <<getMeTiddlerName "EN">> doesn't make transclude widget behave as
>>>> expected.
>>>>
>>>> I also tried many combinations of single/double quotes, as for instance
>>>> in:
>>>>
>>>> <$transclude tiddler="<<getMeTiddlerName '_EN'>>" /> <br/>
>>>>
>>>> but no result at all: the transclude widget DOESN'T transclude the
>>>> dynamically-built tiddler SOMETIDDLERNAME_EN
>>>>
>>>> Not even the simpler version with hard-coded suffix works:
>>>>
>>>> \define getMeTiddlerName() <<currentTiddler>>_EN
>>>>
>>>> <$list filter="whateveFilterHere">
>>>> <$transclude tiddler=<<getMeTiddlerName>> /> <br/>
>>>> </$list>
>>>>
>>>> Nor does it using double quotes for 'tiddler' parameter inside
>>>> transclude widget:
>>>>
>>>> \define getMeTiddlerName() <<currentTiddler>>_EN
>>>>
>>>> <$list filter="whateveFilterHere">
>>>> <$transclude tiddler="<<getMeTiddlerName>>" /> <br/>
>>>> </$list>
>>>>
>>>> Thanks for helping, soooo frustrated!
>>>>
>>>> CG
>>>>
>>> --
>>>
>> You received this message because you are subscribed to a topic in the
>>> Google Groups "TiddlyWiki" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/tiddlywiki/hbSf3WtfLvM/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>>
>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/tiddlywiki/38033f26-43ce-495b-aede-bd4958445e21n%40googlegroups.com
>>>
>>> <https://groups.google.com/d/msgid/tiddlywiki/38033f26-43ce-495b-aede-bd4958445e21n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
--
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/dad8106d-6775-4483-b6e0-4a8871e4b297n%40googlegroups.com.