Appreciate your support TW Tones , I think I'll need sometime to get my
head around this "Transclusion Monster" :)
Thanks again
On Sunday, May 23, 2021 at 3:06:53 AM UTC+2 TW Tones wrote:
> Mohamed,
>
> Perhaps I can publish something another time to go into these two things
> in the future. However I will once again give some essential information to
> set you on the path.
> Most of these things have being covered in the past in the forum however
> they would be hard to find,
>
> 1. Identify a tiddler that has being transcluded see attached
> 2. There are many ways to show this happening all you need you do is
> have something that generates a tiddler containing a macro definition and
> tag it $:/tags/Macro, eg a button can create such a tiddler.
>
> Regards
> Tones
>
>
> On Saturday, 22 May 2021 at 23:33:46 UTC+10 Mohamed Amin wrote:
>
>> Thanks a lot TW Tones for your detailed answer, it's really helpful and
>> thoughtful.
>>
>> BUT you already opened my eyes on VERY interesting points :
>>
>> 1. Identify a tiddler that has being transcluded
>> 2. The macro is itself generated automatically
>>
>> Appreciate your help to know where to start learning about those points.
>>
>> Thanks again
>> On Saturday, May 22, 2021 at 4:08:52 AM UTC+2 TW Tones wrote:
>>
>>> Mohamed,
>>>
>>> *The easiest way is to set values in the macro itself.*
>>>
>>> eg in a tiddler "MacroDef
>>> \define themacroname()
>>> <$set name=macro-name value="themaconame">
>>> <$set name=macro-tiddler value="MacroDef">
>>> <$link /> <<macxro-name>> in <<macro-tiddler>><br>
>>> Do macro stuff here
>>> </$set></$set>
>>> \end
>>>
>>>
>>>
>>> Then in another tiddler
>>> <<themacroname>>
>>>
>>> So within the macro its name and tiddler are available as a variable.
>>>
>>> *Alternatively; the following method makes use of macro parameters;*
>>>
>>> \define themacroname(macro-name:"themacroname" macro-tiddler:"MacroDef" )
>>> <$link /> <<__macro-name__>> in <<__macro-tiddler__>><br>
>>> <hr><!-- OR -->
>>> <$link /> $macro-name$ in $macro-tiddler$ <br>
>>> Do macro stuff here
>>> \end
>>>
>>>
>>> - <<__macroParameter__>> Parameter-as-variable access to a parameter
>>> defined in the macro parameters list as it it were a variable.
>>> - This method also Allows the $parameter$ substitution that allows
>>> you to do things like tooltip="My $parameter$" in a button, which is a
>>> form of concatenation.
>>>
>>>
>>> Notes
>>>
>>> - There are other special ways available to identify a tiddler that
>>> has being transcluded, but the transclude tiddler can also set set a
>>> variable or two.
>>> - This will cover most requirements except where the macro is itself
>>> generated automatically, ie when putting in static values is
>>> insufficient.
>>> - Another trick is a macro that you give a macroname as its
>>> parameter, that it then uses to call the macro, thus the macro name is
>>> available.
>>> - Given a macroname you can also search for "\define macroname(" in
>>> all tiddlers to find one or more places where it is defined.
>>>
>>> Tones
>>>
>>>
>>> On Saturday, 22 May 2021 at 10:29:13 UTC+10 Mohamed Amin wrote:
>>>
>>>> Hi,
>>>>
>>>> As I know, using "currentTiddler" inside a Macro will get the "Caller
>>>> Tiddler" title.
>>>> Is there a way to let a Macro to access its own tiddler?
>>>>
>>>> For example:
>>>> If I've a Macro name "myMacro01" which is defined in a tiddler called
>>>> "Macro01_Tdlr".
>>>> Now, if I call this macro from a tiddler called "XYZ" , then the
>>>> "currentTiddler" value will be "XYZ".
>>>> Is there a way to let the macro get its own tiddler name (Macro01_Tdlr)?
>>>>
>>>> A use case:
>>>> I'm thinking to have a series of Macros, each is defined in its own
>>>> Tiddler.
>>>> then I'll use the fields in each "Macro Tiddler" to control the
>>>> behavior of the macro (the Macro will need to access the fields inside its
>>>> own tiddler)
>>>>
>>>> any idea?
>>>>
>>>> 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 view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/699ddc1e-d711-49e8-97fc-fccbd6762b11n%40googlegroups.com.