Eric, thank you a lot for you comments!
Now it become much more clear. 
<$macrocall...> looks good for me.

пятница, 15 апреля 2016 г., 16:57:49 UTC+3 пользователь Eric Shulman 
написал:
>
> On Friday, April 15, 2016 at 6:18:19 AM UTC-7, Martian wrote:
>>
>> Hello!
>> I am trying just to generate link as [[LinkText|some text+{{!!code}}]]
>> and nothing of following doesn't work 
>>
>
> Try this:
> \define makelink(text,prefix,link)
> [[$text$|$prefix$$link$]]
> \end
>
> <$macrocall $name="makelink" text="LinkText" prefix="prefix" link={{!!code
> }} />
>
> Some feedback on your attempts:
>
> \define getfoo(title=<<current>>)
>> {{foo1!!code}}
>> \end
>>
>
> * <<current>> is not a pre-defined variable, so it has no assigned value. 
>  The TWCore sets <<currentTiddler>> to title of the current tiddler. 
>  Perhaps that is the variable you were thinking of
> * The syntax for defaults for macro params is paramname:value (not 
> paramname=value) and only accepts literal values surrounded by delimiters 
> using single-quotes ('foo'), double-quotes ("foo"), doubled square brackets 
> ([[foo]]), or tripled double quotes ("""foo""").  You can't use a reference 
> to another variable (or a transcluded field value).
> * You declare the 'title' param, but never *use* it in the macro 
> definition, so it's not clear what you intend to use it for.
>
> test <<getfoo>>
>>
>
> * invoking <<getfoo>> here returns "{{foo1!!code}}", which is then 
> rendered as a transclusion, displaying the value in the specified field
>
> [[{{foo1!!code}}]]
>> [[<<getfoo>>]]
>>
>
> * you can't use transclusion or variable/macro invocation *within* the 
> link syntax.
>  
>
>> <$link to=<<getfoo>> >Link Text</$link>
>>
>
> * the macro returns "{{foo1!!code}}" and is not recursively re-parsed to 
> retrieve the value contained in that field.  Thus, you are linking to a 
> tiddler whose title is literally "{{foo1!!code}}".. which, is very likely 
> NOT what you intended.
>
> <$link to={{foo1!!code}}>Link Text</$link>
>>
>
> * This will work... but only links a tiddler whose title is the value in 
> the field, without adding your desired title prefix (e.g., "sometext-" 
>
> <$link to=<$transclude field="code/> >Link Text</$link>
>>
>>
> *  You cannot invoke a widget to assign a value to a macro param.  Widgets 
> generate/render output.  They do not return values. 
>
> Hope this helps,
>
> enjoy,
> -e
> Eric Shulman
> TiddlyTools / ELS Design Studios
>

-- 
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/b3ee26b5-98ee-4f98-8618-fcb5af7e8343%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to