Hi Tony
> I had not seen your reply until now. I found the heading in
> https://tiddlywiki.com/#Transclusion%20in%20WikiText Generated Widgets that
> hinted at what you suggest. Could this be included in the use of the
> transclude widget as well? (not just `{{ target }}`
Yes; the {{}} syntax is a shortcut for writing <$tiddler>/<$transclude>.
>
> By the way the use of StoryTiddler variable helps me identify the equivalent
> of the displayTiddler in the original thread.
Right, that’s a bit easier, we already set that in the story river.
> I like your idea of "making the value of each variable be a list, and append
> the new values at each transclusion" but there is still value on setting a
> callingTiddler variable, that is changed with each transclusion, because it
> will always provide the last call, which is useful in its own right, without
> interrogating the list(s). This would appear in dumpvariables etc... and be
> somewhat diagnosticly meaningful.
OK, I think you’re saying that you’d prefer to have each item available as both
a single value, and a list/stack of accumulated values.
> Here are some thoughts to use this development, to introduce a useful macro
> or widget, at the same time as the above solution is created, because the
> proposal requires something like this anyway. Basically exposing a common
> logical function to users.
As discussed by others, we already have the ability to perform push/pop
operations.
Best wishes
Jeremy
>
> To build your suggested list perhaps we can introduce a list "push and pop"
> widget(s) or macro and use that. Since such a push and pop could be useful
> elsewhere. If you are not familiar with push and pop I mean a macro or widget
> such as
> <<push "field/textreference" "listitem" "delimiter">>
> that adds list item at the end (titles delimited Space for fields) newline
> for text
>
> A default of
> <<push "field/textreference">>
> would push the current tiddler title onto the end of the list in textreference
>
>
> <<pop "textreference">>
> Removes the last item from text reference regardless of what it is.
> This could allow the use of recursive loops inside transclusions ie TOC
> equivalent.
> It could refuse to push a tiddler title already in the "list" to stop loops
> It is a basic form of append, and can also be used for log solutions.
>
> This could be used to push and pop a tag, list field entry, datatiddler items
> or build a branch (field) whilst iterating a TOC and more.
>
> Eg a recursive process could build a branch describing each tiddler by the
> full path to it, and save this branch/path in each tiddler, or in a data
> tiddler. This would allow a complex hierarchy to be saved for later, even
> when the source tiddlers change their relationships.
>
> There are other possibilities that I will leave out for brevity.
>
> Tony
>
>
>
>
> On Saturday, November 2, 2019 at 10:41:11 PM UTC+11, Jeremy Ruston wrote:
> Hi Tony
>
> We could extend the transclude widget so that it sets a
> “currentTransclusionTitle” variable with the name of the tiddler that it is
> transcluding. We’d actually also need to set variables
> currentTransclusionField, currentTransclusionIndex and
> currentTransclusionSubtiddler to capture all the attributes of the
> transclusion.
>
> Then, in your example below, the tiddler “Second” would be able to obtain the
> name of the tiddler from which it was transcluded.
>
> A potential limitation is that each successive transclusion would overwrite
> the values of those variables. We could work around that by making the value
> of each variable be a list, and append the new values at each transclusion.
>
> Does that make sense, and would it do what your after?
>
> Finally, a small point, but you’ve got this construction:
>
> <$set name="callingTiddler" value={{{ [<currentTiddler>] }}} >
>
> It could be written more concisely as:
>
> <$set name="callingTiddler" value=<<currentTiddler>>>
>
> Best wishes
>
> Jeremy
>
>> On 2 Nov 2019, at 06:17, TonyM <[email protected] <>> wrote:
>>
>> Folks,
>>
>> A solution was found for this specific use case, before posting, but the
>> Question still could do with an answer
>> Use the <<storyTiddler>> variable to find the "DisplayTiddler" regardless of
>> the number of transclusions.
>>
>> A reoccurring confusion of mine occurs trying to implement the following
>> with a define rather than a set, is it possible?
>> <$set name="callingTiddler" value={{{ [<currentTiddler>] }}} >
>> 1st: <br>
>> {{tiddlername||Second}}
>> </$set>
>> The value <<callingTiddler>> will be available in all nested transclusions.
>>
>> The problem with this is you always need to close the set widget. This means
>> every time you edit or add something to the tiddler you have to make sure
>> changes that need it are inside the set.
>>
>> Is there a way to
>> \define callingTiddler() something
>> to achieve the same result?
>>
>> The problem is whatever you place in a macro definition gets evaluated when
>> its displayed not before
>>
>> Of course I can use;
>> \define callingTiddler() actual tiddlername
>> With a literal tiddler name but then each tiddler needs a unique setting and
>> you can't "import variables", make it global or any other method I can think
>> of
>>
>> Why?
>> I really want an answer to support a range of methods
>> You can see in the above the use of `{{tiddlername||Second}}`! here I can
>> transclude Second with tiddlername acting as a parameter for "Second" to
>> use, but I still want access to the callingTiddler in that transclusion and
>> other nested in "Second"
>> I would love global a method to capture for subsequent use in transclusions
>> the current "Display Tiddler"/callingTiddler - ie the one on the screen
>> before transclusion, but as many of you know the currentTiddler changes
>> according to context so it can't be used.
>>
>> Note: I went looking in the tiddler $:/config/ui/ViewTemplate to see how I
>> may set a displayTiddler value only to find the variable storyTiddler which
>> is functionally what I need. Though it does nothing to help me define a
>> variable that will store the current tiddler indefinitely.
>>
>> Regards
>> Tony
>>
>>
>> --
>> 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/79a27e56-918e-4431-9c12-f7cc83ff3e1c%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/tiddlywiki/79a27e56-918e-4431-9c12-f7cc83ff3e1c%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]
> <mailto:[email protected]>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tiddlywiki/130819b8-a9b2-49ca-980e-2252b761714f%40googlegroups.com
>
> <https://groups.google.com/d/msgid/tiddlywiki/130819b8-a9b2-49ca-980e-2252b761714f%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/BE20C2B3-13E3-47DB-A0C1-1ABEED973CAF%40gmail.com.