I'm glad both of you guys chimed in. I learned from both your perspectives.
On Friday, April 24, 2020 at 1:54:37 PM UTC-4, Mark S. wrote:
>
> This is actually a version of a problem that comes up frequently -- how to
> concatenate a variable or transclusion into a string.
>
> This:
>
> tags="Task <<thisContext>>"
>
> will not work. It won't create a string with "Task" and the value of
> <<thisContext>> >
>
> This is called concatenation. If you look for "concatenation" on
> TiddlyWiki.com there's at least one howto. Unfortunately, it's not the word
> that automatically springs to people's heads.
>
> The two main ways around this problem is to use either {{{ }}} notation
> with a addprefix/addsuffix filter operator, or to use a helper macro.
> Macro's have substitution variables. A variable for a passed parameter
> looks like $variable$ and a substitution variable for an environmental
> variable looks like $(variable)$.
>
> So, at the top of your tiddler create a macro like this:
>
> \define thebutton()
> <$button>
> <$action-sendmessage $message="tm-new-tiddler"
> title="Task"
> tags="Task $(thisContext)$"
> priority="3"
> />
> New Task for <<thisContext>>
> </$button>
> \end
>
> Then, down below replace the existing button code like this:
>
> <<theButton>>
>
> On Friday, April 24, 2020 at 9:53:26 AM UTC-7, David wrote:
>>
>> http://www.freezingcode.com/twTemp/category_name_20200424.html
>>
>> The above tiddlyWiki file illustrates my question.
>>
>>
>> The "New" button in the TODO tiddler (there is one "New" button per
>> context section) is supposed to create a new tiddler with tags
>> automatically added. One of the tags "Task" is hard coded, and should be.
>> The other tag is dynamic, and represents the current section Context (e.g.
>> "Context_Home" or "Context_Out", etc.) and is placed in that code,
>> hopefully, via a variable.
>>
>> When you click on one of the "New.." buttons, you'll get a new tiddler
>> draft, and notice that the current context is not one of the tags, but the
>> variable declaration is: <<thisContext>>. That is what is not working.
>>
>> This variable worked fine when the listWidget loop was looping over a
>> text string of gathered contexts. But the filter has been changed to loop
>> over tags now. Apparently that macro style syntax (i.e. <<thisContext>> )
>> doesn't quite work the same way now that the iterator is a tag.
>>
>> Notice also that the variable works in the Button Display Text area, so
>> we knot the variable is representing the right thing and is present at that
>> point in the code.
>>
>> Thanks for Looking!
>>
>> <$button>
>> <$action-sendmessage $message="tm-new-tiddler"
>> title="Task"
>> tags="Task <<thisContext>>"
>> priority="3"
>> />
>> New Task for <<thisContext>>
>> </$button>
>>
>>
>>
--
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/169e53e2-f1ce-45c6-9e26-d030d768a3d6%40googlegroups.com.