Re: [tw] Re: Name formatting using caption field

2016-01-11 Thread Tobias Beer
Hi David, 

I was wondering about the order in which those kinds of things are run.  
> For example, are widgets evaluated before or after macro calls?  I'm trying 
> to figure this out so I know what I can use where and in what order 
> TiddlyWiki will evaluate them.
>

It all depends on how your wikitext is constructed.
The way things are nested defines execution order.
Generally, the parser creates a parse-Tree from wikitext
which is turned into a widget-Tree.
And those widgets may evaluate macros,
e.g. via their attributes or contents.

Best widgets, err wishes, ;-)

Tobias.

-- 
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 tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
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/d7d13d19-9a1d-4245-b30c-c66fd83f05d9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [tw] Re: Name formatting using caption field

2016-01-11 Thread David Allen
I was wondering about the order in which those kinds of things are run.
For example, are widgets evaluated before or after macro calls?  I'm trying
to figure this out so I know what I can use where and in what order
TiddlyWiki will evaluate them.

This
email has been sent from a virus-free computer protected by Avast.
www.avast.com

<#DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

On Mon, Jan 11, 2016 at 2:42 AM, Tobias Beer  wrote:

> Hi David,
>
>
>> Out of curiosity, in what order are macros, text references, widgets, etc
>> used?
>>
>
> How do you mean "used"? Used where?
>
> One thing's for sure, you *cannot* have a widget be an attribute to a
> widget.
> So, you can have macros be an attribute to a widget,
> but you *cannot* have a macrocall widget be an attribute to another widget
> and thus dynamically evaluate macro parameters via other variables or
> text-references
> unless your macro actually parses those themselves, e.g.
>
> \define macro:(macro,1,2,3,4,5,6,7,8,9,10) <<$macro$ """$1$""" """$2$"""
> """$3$""" """$4$""" """$5$""" """$6$""" """$7$""" """$8$""" """$9$"""
> """$10$""">>
> \define text:(reference) {{$reference$}}
>
> <>
>
> <>
>
> <>
>
> <>
>
> Macros really are text-substitution patterns,
> the wikification is handled elsewhere
>
>- by some widget(s) it creates
>- or by the widget where a macro is used as an attribute
>
> Also, Javascript or Wikitext macros have different refresh behavior hinted
> at:
>
>- here
>
>- and considered here: setvars-Refresh
>
>
> Best wishes,
>
> Tobias.
>
> --
> 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/NwaJdnB_yTU/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> tiddlywiki+unsubscr...@googlegroups.com.
> To post to this group, send email to tiddlywiki@googlegroups.com.
> 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/f5ac5407-c51b-4034-a002-b1aca693f70b%40googlegroups.com
> 
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
David Allen

-- 
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 tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
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/CALaYjLig3zEFuzs_%2B9tz-GfbCbjFD5YhPRvC68CS1kaHNcrA%3DA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [tw] Re: Name formatting using caption field

2016-01-11 Thread Tobias Beer
Hi David,
 

> Out of curiosity, in what order are macros, text references, widgets, etc 
> used?
>

How do you mean "used"? Used where?

One thing's for sure, you *cannot* have a widget be an attribute to a 
widget.
So, you can have macros be an attribute to a widget,
but you *cannot* have a macrocall widget be an attribute to another widget
and thus dynamically evaluate macro parameters via other variables or 
text-references
unless your macro actually parses those themselves, e.g.

\define macro:(macro,1,2,3,4,5,6,7,8,9,10) <<$macro$ """$1$""" """$2$""" 
"""$3$""" """$4$""" """$5$""" """$6$""" """$7$""" """$8$""" """$9$""" 
"""$10$""">>
\define text:(reference) {{$reference$}}

<>

<>

<>

<>

Macros really are text-substitution patterns,
the wikification is handled elsewhere

   - by some widget(s) it creates
   - or by the widget where a macro is used as an attribute
   
Also, Javascript or Wikitext macros have different refresh behavior hinted 
at:

   - here 
   
   - and considered here: setvars-Refresh 
   

Best wishes,

Tobias.

-- 
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 tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
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/f5ac5407-c51b-4034-a002-b1aca693f70b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [tw] Re: Name formatting using caption field

2016-01-10 Thread David Allen
The white space part of the setvars works fine.  Thanks for that tip,
should make it easier to add to later.

Out of curiosity, in what order are macros, text references, widgets, etc
used?  I ask because I'm extremely close to getting a tiddler that can
modify the large number of already-made character tiddlers to add a working
caption field.

This
email has been sent from a virus-free computer protected by Avast.
www.avast.com

<#DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

On Sun, Jan 10, 2016 at 3:54 AM, Tobias Beer  wrote:

> Hi David,
>
> I'm a quite amazed to find you using *setvars* at that level of
> complexity. *bows down*
> As for long expressions like yours, I'd possibly use plenty line-breaks
> and white-space for readability, e.g.:
>
> \define name_output(species,first,second,third)
> <$setvars
> twothreename="""
>   (\$third$\ ? \$third$, $first$ $second$\) ||
>   \$second$, $first$\
> """
> formatted_name="""
>   (\$species$\ == \Human\ ? twothreename ) ||
>   (\$species$\ == \Bajoran\ ? \$first$ $second$\) ||
>   (\$species$\ == \Garbrini\ ? \$second$, $first$ $third$\) ||
>   \$first$\
> """>
> <>
> 
> \end
>
> Can you test and confirm that the above works? I think it should.
>
> Here are the fields in an example character tiddler:
>>
>> caption: <>
>> species: Human
>>
>
> As for using wikitext in fields. Be mindful that transcluding and reusing
> that at other places, e.g. in macros may have unexpected results in that
> the field value is not wikified before using. So, you're actually passing
> the string <>.
>
> Therefore, I think what you need to do is:
>
> Instead of using wikitext (macros) in fields directly,
> have as many fields as are needed to create the proper output where you
> need it, elsewhere.
> In other words, you should have fields like *name-1st*, *name-2nd*,
> *name-3rd*
> and then have a macro *outside* of your field contents
> that does your desired handling where ever you need it,
> but not as the field value.
>
> Does that make sense?
>
> Best wishes,
>
> Tobias.
>
> --
> 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/NwaJdnB_yTU/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> tiddlywiki+unsubscr...@googlegroups.com.
> To post to this group, send email to tiddlywiki@googlegroups.com.
> 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/73772a65-a91b-4112-8795-cfbaa90a0ac6%40googlegroups.com
> 
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
David Allen

-- 
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 tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
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/CALaYjLjLUF6E0kpv1%3DM7QeiF%3D%3DiEwdV5ALPDCPrEGUA%3DA6XdCw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[tw] Re: Name formatting using caption field

2016-01-10 Thread Tobias Beer
Hi David,

I'm a quite amazed to find you using *setvars* at that level of complexity. 
*bows down*
As for long expressions like yours, I'd possibly use plenty line-breaks and 
white-space for readability, e.g.:

\define name_output(species,first,second,third)
<$setvars
twothreename="""
  (\$third$\ ? \$third$, $first$ $second$\) ||
  \$second$, $first$\
"""
formatted_name="""
  (\$species$\ == \Human\ ? twothreename ) ||
  (\$species$\ == \Bajoran\ ? \$first$ $second$\) ||
  (\$species$\ == \Garbrini\ ? \$second$, $first$ $third$\) ||
  \$first$\
""">
<>

\end

Can you test and confirm that the above works? I think it should.

Here are the fields in an example character tiddler:
>
> caption: <>
> species: Human
>

As for using wikitext in fields. Be mindful that transcluding and reusing 
that at other places, e.g. in macros may have unexpected results in that 
the field value is not wikified before using. So, you're actually passing 
the string <>.

Therefore, I think what you need to do is:

Instead of using wikitext (macros) in fields directly,
have as many fields as are needed to create the proper output where you 
need it, elsewhere.
In other words, you should have fields like *name-1st*, *name-2nd*, 
*name-3rd*
and then have a macro *outside* of your field contents
that does your desired handling where ever you need it,
but not as the field value.

Does that make sense?

Best wishes,

Tobias.

-- 
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 tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
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/73772a65-a91b-4112-8795-cfbaa90a0ac6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.