X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=doc%2FTemplateSyntax.txt;h=ad8e09ae170f0e9f82326af1f60b06199f37f890;hp=ab4cc37d37060a2e0b229629bf70df791df0a1c8;hb=0a72fb51898c89d155f959dc8fb15c52e017a731;hpb=ca82909d6bb910769eb756058d51d55e6d257914 diff --git a/doc/TemplateSyntax.txt b/doc/TemplateSyntax.txt index ab4cc37d..ad8e09ae 100644 --- a/doc/TemplateSyntax.txt +++ b/doc/TemplateSyntax.txt @@ -1,18 +1,26 @@ A template is constructed from a charstream. Everything that is not in "" will be outputted directly. Text in these markers will be interpreted is template scripting syntax. The following strings are valid: -- will output "variablename". +General remarks: +- $variablename: a variablename matches the regex [a-zA-Z0-9_-] +Syntax: +- will output "variablename". if "variablename" is an Outputable output this thing recursively. else turn it into a String (Object.toString()) and output it. + +- will output the variable "variablename" but not HTML-escaped - will translate "This is free Text." into the users language, (escaped) and output it. - -- - Translate the last string. Output $var1,...,$varn sprintf-ed into the translated string. - -- - Output/execute the text until "" only if $variable is boolean and true. - -- + Text may not contain "?>". + If the text contains "$" or "!'" it is interpreted as "advanced replacement". + - ${variablename} is interpreted as "output this variable at this point" + - !'literal content' output "literal content" here and do not translate or escape. (literal content may not contain any of: {}'$ ) + Then the whole text than also may not contain "{" and "}". + +- ... + Output/execute the text until "" only if $variable is Boolean.TRUE (<=> !Boolean.FALSE) or not null. +- ... ... + +- ... If $variable is an "IterableDataset" Output/execute the text until "" repeated as $variable suggests. Special variables that $variable defines can be used in the inner text.