Hi Tony

Bold effort!

I spotted something in there that I do quite often, but I do it a little 
differently:

You: 

<$wikify name=style-value text="""color: {{!!color}}""">
 style=<<style-value>> 
</$wikify>  

Me:

<span style={{{ [[color:]] [{!!c}] +[join[]] }}}>Check this in 
devtools</span>

Not sure which you might prefer...


On Thursday, October 1, 2020 at 8:13:01 PM UTC-5 TonyM wrote:

> Folks,
>
> This working tiddler is published here;
>
> https://anthonymuscio.github.io/#Standard%20Nomenclature
>
> Regards
> Tony
>
>
> On Thursday, 1 October 2020 12:17:43 UTC+10, TonyM wrote:
>
>> Folks,
>>
>> I have being building a "CheatSheet" that I would appreciate expert 
>> review if possible. Please respond with references to the number of each 
>> item.
>>
>> You can see it is built on Tobias and Eric's work to name a few. It tries 
>> and make simple, some particularly tricky issues that new and experienced 
>> users face.
>>
>> Regards
>> Tony
>>
>> Important note:
>>    
>>    - The following is a Cheatsheet or quick reference to the following
>>    wikitext, variables, widgets, filters, operators and the use of 
>>    references variables, macros, html tags and their attributes/parameters
>>    - *Key widgets* that are used sometimes, for a complete solution are 
>>    $text <https://tiddlywiki.com/#TextWidget>, $macrocall 
>>    <https://tiddlywiki.com/#MacroCallWidget>, $wikify 
>>    <https://tiddlywiki.com/#WikifyWidget> and $transclude 
>>    <https://tiddlywiki.com/#TranscludeWidget>, otherwise this 
>>    documentation relates to all widgets.
>>    - Many *non-coders* may find this intimidating however should keep 
>>    the following in mind;
>>       - much of this is actually essential not just for programming, but 
>>       logical necessary, similar to the use of punctuation in hand writting.
>>       - Whilst it may seem complex at first, the application of these 
>>       rules is not only consistent throughout TiddlyWiki, but has a lot in 
>> common 
>>       with most other implementations of html, programming languages, 
>> mark-up and 
>>       a lot more.
>>       - This document is a summary of things learned over a number of 
>>       years by the author, don't expect to understand it overnight.
>>       - Somewhere on this learning curve you will have to stop calling 
>>       yourself a *non-coder*.
>>    - Prior knowledge of these will help, and regardless what you learn 
>>    to use TiddlyWiki it will include transferable skills.
>>       - You are not required to learn much that is single purpose, and 
>>       all will unleash the power of TiddlyWiki
>>    - In this cheat sheet the use of single square brackets indicates 
>>    something optional, eg; <<macroname [params]>> [params] means that is 
>>    optional.
>>
>> ❶ General wiki text (including inside macros)For additional 
>> possibilities with inside macros see *❸ Within macro definitions* below.
>>    
>>    1. literal values when literal values are used as parameters or 
>>    attributes the quoting rules apply see *➃ Using literals and 
>>    parameters*
>>    2. <br> <hr> html tags immediate closure
>>    3. <section> </section> later closure
>>    4. <<variable/macrocall [params]>> immediate closure, see ➀ for later 
>>    closure
>>    5. <$widgetname [params] /> immediate closure
>>    6. <$widgetname [params]> inside the widget </$widgetname> later 
>>    closure (for more see *➁ Content of widgets*)
>>    7. {{tiddlername}} transclude the content of the tiddlername's text 
>>    field and render
>>    8. {{!!fieldname}} transclude the content of the currentTiddlers 
>>    fieldname and render
>>    9. {{tiddlername!!fieldname}} transclude the content of the 
>>    tiddlername's fieldname and render
>>    10. {{{ [<currentTiddler>addprefix[$:/myprefix/]] }}} filtered 
>>    transclusion, see also *❻ More on filtered transclusions*
>>    11. Not valid in General wiki text
>>       1. <variable>
>>       2. "<variable>",
>>       3. [[<variable>]]
>>    
>> ❷ Widget and HTML attributes or parameters html element attributes 
>> <https://tiddlywiki.com/#HTML%20in%20WikiText>, e.g. $macrocall
>>    
>>    1. <$widget attribute="literal value"/> see *➃ Using literals and 
>>    parameters*
>>    2. <$widget attribute=<<variable>>/> using a variable
>>    3. <$widget attribute=<<callMacroToComputeValue>>/> using a macro
>>    4. <$widget attribute={{transclusion}}/> using a transclusion see
>>    5. <$widget attribute={{{ filter }}}/> filtered transclusion ;❻
>>    6. <htmltag attribute="literal value"/> see *➃ Using literals and 
>>    parameters*
>>    7. <htmltag attribute=<<variable>>/> using a variable as a HTML 
>>    attribute
>>    8. <htmltag attribute=<<callMacroToComputeValue>>/> using a variable 
>>    as a HTML attribute
>>    9. <htmltag attribute={{transclusion}}/> using a variable as a HTML 
>>    attribute see more on transclusions ❻ and ❼
>>    10. <htmltag attribute={{{ filter }}}/> filtered transclusion ;❻
>>    11. {{!!transclusion}} a field who's value can also be inside [[ ]]
>>    ????
>>    12. *Not valid in widget attributes/parameters*
>>       1. <$widget attribute="prefix-<<variable>>"/> can not concatenate 
>>       literals and variables in a parameter
>>       2. <$widget attribute=[[prefix-<<variable>>]]/> can not 
>>       concatenate literals and variables in a parameter or treat it as a 
>> tiddler 
>>       link at same time
>>       3. <$widget attribute="prefix-{{transclusion}}"/> can not 
>>       concatenate literals and transclusions/textreferences in a parameter
>>    
>> ❸ Within macro definitions*Within macro definitions refers to the 
>> following cases*
>>
>> \define macrocname(parms) In here
>> \define macrocname(parms) here
>> and in here
>> \end
>>
>> Keep in mind macros definitions also have full access to wiki text as 
>> documented in *❶ General wiki text*
>> *Note:* representations using the $ sign are 'substitutions' so you must 
>> provide the delimiters such as quotes with the substitution if required'"See 
>> footnote *➂ The value of Substitutions* for more,it is importiant you 
>> understand *➃ Using literals and parameters* if you want to use 
>> substitutions.
>>    
>>    1. $macroParameter$, "$macroParameter$", [[$macroParameter$]] 
>>    <<__macroParameter__>>
>>    2. $(variable)$ references a variable from the context of the calling 
>>    macro, this is away to avoid the use of a parameter in macrocalls.
>>    3. : <<__macroParameter__>> Parameter-as-variable access to a 
>>    parameter defined in the macro parameters list as it it were a variable.
>>       1. There are a few cases where a substitution may not be suitable 
>>       but a variable is.
>>    4. <$widget attribute="prefix-$macroParameter$"/>
>>    5. <$widget attribute=$macroParameter$/> unsafe when $macroParameter$ 
>>    has spaces or other special characters.
>>    6. $variable$, "$variable$", [[$variable$]] ?????
>>
>> ❹ Macro parameters Macro Calls in WikiText 
>> <https://tiddlywiki.com/#Macro%20Calls%20in%20WikiText>
>>    
>>    1. When literal values are used as parameters or attributes the 
>>    quoting rules apply, see ➃ Using literals and parameters
>>    2. <<macroname "1st" "2nd">> refers to Nth parameter in macro 
>>    definition
>>    3. <<macroname param:"value">> refers to the name parameter
>>    4. <<macroname param:"$macroParameter$">> only inside macro were 
>>    $param$ and $(varname)$ are valid see
>>    5. Since parameters in macros is limited, we use the macrocall widget 
>>    to give the same paramater possibilities as widgets.
>>    6. <$macrocall $name=macroname param="literal" param1=<<variable>> 
>>    param2={{transclusion}} param3={{{ filter }}} />
>>       1. in the macrocall widget you *need* to know the parameter name 
>>       to pass a value
>>    7. The following missuses can be replaced by the use of
>>       1. $(variable)$ in the macro definition
>>       2. use the $macrocall widget to allow evaluated parameters
>>    8. *Not valid in Macro parameters* but the $macrocall widget offers a 
>>    work around.
>>       1. <<macroname <<variable>> >> the << and >> get confused
>>       2. <<macroname "<<variable>>" >> The paramerter will contain the 
>>       value of <<variable>> ?? the << and >> get confused ??
>>       3. <<macroname param:<<variable>> >> the << and >> get confused
>>       4. <<macroname {{transclusion}}>> the transclusion will not occur 
>>       before the macrocall
>>       5. <<macroname param:{{transclusion}}>> the transclusion will not 
>>       occur before the macrocall
>>    
>> ❺ In filters
>>    
>>    1. There is no need in filters to differentiate between html and 
>>    widgets tags so only single delimiters are needed.
>>    2. Also once a delimiter is in use, you must avoid using the [] you 
>>    would have needed. So an operator[literalvalue] becomes 
>>    operator<varname>
>>    3. *Operator* below refers to any filter operator 
>>    <https://tiddlywiki.com/#Filter%20Operators> eg "tag"
>>    4. [operator<variable>] (no inner square brackets!)
>>    5. [operator{transclusion}] only single curly brackets!
>>    6. [operator{!!fieldname}] only single curly brackets!
>>    7. [operator{tiddlername!!fieldname}] only single curly brackets!
>>    8. operator[$macroParameter$] (only filters within macros)
>>    9. *Not valid in filters*
>>       1. [operator[$(variable)$]] test this!
>>       2. [operator<macroname parameter>] Macros used in filters can not 
>>       contain parameters to the macro
>>          1. workaround - use the wikify widget
>>       10. *Note:* If a tiddler or tiddler!!fieldname contains a complete 
>>    filter, you can transclude that whole filter as a parameter
>>       1. For example filter={{tiddlername}} filter={!!fieldname}} 
>>       filter={{tiddlername!!fieldname}}
>>       2. however in this case you can't now manipulate the filter eg; ~
>>       filter="{{tiddlername}}addprefix[$:/]]~
>>    11. *Wikify workaround* for parameters to a macro
>>
>> <$wikify name=newvar text="""<<macroname parameter>>""">
>> ... [operator<newvar>] ....
>> </$wikify>
>>
>> ❻ More on filtered transclusionsAlso refered to as triple curly braces {{{ 
>> filter }}} they excel in particular uses such as concatenation, 
>> evaluation, maths and as parameter to widget especially the $macrocall 
>> widget.
>>    
>>    1. {{{ somename }}} somename 
>>    <https://anthonymuscio.github.io/#somename> a tiddler link
>>    2. {{{ some name }}} some <https://anthonymuscio.github.io/#some>name 
>>    <https://anthonymuscio.github.io/#name> two tiddler links
>>    3. {{{ [[some name]] }}} some name 
>>    <https://anthonymuscio.github.io/#some%20name> tiddler whos title 
>>    contains spaces
>>    4. {{{ [[somename]get[caption]else{!!title}] }}} caption of somename 
>>    <https://anthonymuscio.github.io/#caption%20of%20somename> tiddler 
>>    whos title contains spaces
>>    5. filtered transclusions can be placed inside a TextWidget 
>>    <https://anthonymuscio.github.io/#TextWidget> to return only text 
>>    (not something later rendered)
>>    6. '<$text text={{{ [[somename]get[caption]else{!!title}] }}}/>' 'caption 
>>    of somename' use text so the caption does not become a link
>>    7. filtered transclusions can be placed inside a WikifyWidget 
>>    <https://anthonymuscio.github.io/#WikifyWidget> to evaluate a result 
>>    for subsequent use
>>    
>> rather that containing something which is later evaluated at render time)
>>
>> <$wikify name=result text="""{{{ [[somename]get[caption]else{!!title}] }}} >
>> The <<result>> variable containes the result of the wikify only before its 
>> closure
>> </$wikify>
>>
>> ❼ More on transclusions - as templates
>>    
>>    - See *❶ General wiki text (including inside macros)* for the 
>>    reference to tiddlername and fieldnames
>>    - some times a parameter accepts a "text reference" which is similar 
>>    in apperence to a transclusion
>>       - eg; "tiddlername", "!!fieldname" or "tiddlername!!fieldname" these 
>>       are "references"
>>    - See *❻ More on filtered transclusions* for the use of triple curly 
>>    braces.
>>
>> SO far
>>    
>>    1. Transclude transclusions
>>    2. Transclude with current tiddler
>>       1. Eg button
>>    3. Transclude with named tiddler
>>       1. Eg button?
>>    4. transclude widget.
>>    5. Not valid for transclusions
>>       1. {{||tiddlername!!caption}} as it aske for the field caption in 
>>       tiddlername, but insists on using the currentTiddler.
>>    
>> ------------------------------
>> *Footnotes*
>>
>> ➀ The following is an example of *later closure* of a macro;
>>
>> <<variable 
>> [params]
>> >>
>>
>> ➁ Content of widgetsSometimes used OR for example The content of the 
>> <$text> widget is not used.This may be an opportunity to add notes in 
>> your wiki text that will not be displayed in the resultIn many cases 
>> such as the ListWidget <https://anthonymuscio.github.io/#ListWidget> the 
>> content is used such as for the display templated of the list resultsIf 
>> the template=parameter is used then the widget content is not 
>> used<$widgetname 
>> [params]> inside the widget </$widgetname> later closure
>>
>> <$widgetname [params]>
>>    inside the widget 
>> </$widgetname>
>>
>> The *macrocall widget* is a case in point, The content of the 
>> <$macrocall> widget is ignored. So we can use it as such;
>>
>> <&macrocall $name=macroname param="literal" param1=<<variable>>  
>> param2={{transclusion}} param3={{{ filter }}} >
>> So in here we could document the function and parameters of this particular 
>> macrocall
>> />
>>
>> ➂ The value of SubstitutionsA key advantage of substitutions (in macros) 
>> is their placement can also be a concatenation of values.see also ❻ More 
>> on filtered transclusions (also for concatenation)it is important you 
>> understand ➃ Using literals and parameters with substitutions
>>
>> \define concatenate-parameters(param1 param2) $param1$/$param2$
>> \define concatenate-variables() $(currentTiddler)$/$(subtiddler)$
>>
>> <<concatenate-parameters tiddlername subtiddler>>
>>
>> <$set name=subtiddler value="mysubtiddler">
>>   <<concatenate-variables>>
>> </$set>
>>
>>
>>    - The $(...)$ syntax means "substitute the variable, defined before 
>>    this macro was invoked".
>>
>> This is a way of accessing values without the use of actual macro 
>> parameters, get or set the variable before calling the macro➃ Using 
>> literals and parametersEach parameter value can be enclosed in 'single 
>> quotes', "double quotes", """triple double quotes""" or [[double square 
>> brackets]].Triple double quotes allow a value to contain almost 
>> anything. If a value contains *no spaces or single or double quotes*, it 
>> requires no delimiters.You can choose ' or " or """ if you want to wrap 
>> something that contains (or may contain) one of the other quotes. In this 
>> regard the """literal""" is the safest.*However* often wrapping a 
>> macrocall, or widget in quotes will turn it into a literal and it will not 
>> be evaluatedOther uses
>>    
>>    - Double double Quotes "" are not used to delimit
>>    - Double single quotes '' are used to open and close bold in wiki 
>>    text.
>>    - Triple Double Quotes """ is used to mark a block of text.
>>    - Single tick back tick (unshifted ~ on QWERTY keyboards) highlight 
>>    inline code eg; this is between single back ticks and will not be 
>>    rendered.
>>
>> Summarised as
>>    
>>    - If value is a single word not containing spaces or other delimiters 
>>    parname=value (no quotes)
>>    - If value is two words spaces parname='value word2' parname="value 
>>    word2" parname=value word2 all work. note double "" does not.
>>    - If you want to use a delimiter such as ' or " in a string you must 
>>    use the other
>>    - If our value is parname="something "quote here" something else" it 
>>    does not know when it is starting or ending
>>       - parname='something "quote here" something else' this works
>>       - parname="something 'quote here' something else" as does this
>>    
>> The advantage of the triple quotes is they rarely appear in content so 
>> parname=something 'quote here' and "here is another" something else works 
>> and is the most reliable.The above are the rules for literals, or fixed 
>> typed values.Tiddlywiki uses quotes for literals so if you put it around 
>> other things '<<macroname>>' "<<macroname>>" """<<macroname>>""" it 
>> turns it into a literal
>>
>> However when we use the following as a parameter or attribute value they 
>> are already delimited by the << or {{ or {{{ so no need to add quotes 
>> and turn them into literals.
>>
>> parname=<<macroname>> 
>> parname=<<varname>> 
>> parname={{{ [filter] }}} 
>> parname={{!!fieldname}} 
>> parname={{tiddlername}}  
>> parname={{tiddlername!!fieldname}} 
>> But in the above cases the value is retrieved from elsewhere, and that value 
>> needs to be appropriate for the parameter you are providing.
>>
>> Keep in mind double and triple braces are used in wikitext because html 
>> tags <div></div> etc... are permitted in wiki text, So we need << to 
>> separate them from < only singles are required in filters, because 
>> filters do not handle html tags.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/35dce4fb-a718-4dbb-909d-d611ce69eaf9n%40googlegroups.com.

Reply via email to