X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=doc%2FTemplateSyntax.txt;h=f747c2257692a0b2c0e03c53918b44c5d2d6e004;hp=3b4a07ca1c0f1962b248be2e7fee91edde56bb5d;hb=3238dff5b3beca228359b370bc104f48d6247632;hpb=9420682debe732ed08b15c6b4de27a3b078c85ba diff --git a/doc/TemplateSyntax.txt b/doc/TemplateSyntax.txt index 3b4a07ca..f747c225 100644 --- a/doc/TemplateSyntax.txt +++ b/doc/TemplateSyntax.txt @@ -1,14 +1,30 @@ 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. + +Adding a "\" before a newline will cause both the backslash and the newline get removed. This allows non-visible line-breaks in templates. +Note: Mail templates consist of a template for subject and a template for the body. Prolonging the subject-line with this feature is not possible.