Chunk Tag Filters
From Chunk Java Template Engine
Tom McClure (Talk | contribs) (→qcalc()) |
Tom McClure (Talk | contribs) |
||
Line 114: | Line 114: | ||
== sprintf(<format>) == | == sprintf(<format>) == | ||
The classic formatter. See [[http://www.x5software.com/chunk/examples/ChunkExample?example=sprintf sprintf examples]]. | The classic formatter. See [[http://www.x5software.com/chunk/examples/ChunkExample?example=sprintf sprintf examples]]. | ||
+ | |||
+ | == th == | ||
+ | Ordinal suffix (1 -> 1st, 2 -> 2nd, 10 -> 10th etc.). | ||
+ | |||
+ | Alias: ordsuffix | ||
== title == | == title == | ||
- | Uppercase the first letter of each word, and lowercase all other characters. See [[#capitalize]]. | + | Uppercase the first letter of each word, and lowercase all other characters. See [[#capitalize]]. Does not follow any rules about not title-casing small words. |
== translate == | == translate == |
Revision as of 06:01, 21 November 2013
Chunk includes several useful filters right out of the box, eg {$tag|upper}
.
Filters may be chained ad infinitum: {$tag|md5hex|upper}
.
alternate(<evenoutput>,<oddoutput>)
When tag value is even, output <evenoutput> - when odd, output <oddoutput>. Unbraced tags are valid arguments, eg:
output {$even} and {$odd} tags:
{$i|alternate($even,$odd)}
include templates {#even} and {#odd}
{$i|alternate(+#even,+#odd)}
Alias: evenodd
base64
Base64-encode.
base64decode
Base64-decode.
capitalize
Uppercase the first letter of each word. Leave case of other characters intact. See #title.
Alias: cap
checked(<testvalue>)
Output checked="checked" when tag value matches <testvalue>. Argument may be an unbraced $tag.
defang
Remove all but a short list of "harmless" characters - can apply to values from untrusted sources to neuter potential XSS attacks.
Alias: neuter
escapequotes
Escape single and double quotes (and backslashes) with a backslash.
Aliases: qs, quoted, quotedstring
escapexml
Convert & to & and handle angle brackets, etc. See #unescapexml.
Aliases: xml, html, xmlescape
filter(<#xtemplate>)
Bind the tag value to {$x} and include the specified template. Provides a way to write user-contributed filters using template tag language.
get(<index>)
Output the LIST element at <index>. Negative indices count back from the end of the LIST.
indent(<howmany>[,indentstring])
Indent each line of the input by <howmany>. Default indentstring is a space.
join[(<delimiter>)]
Join the LIST elements into a STRING, optionally delimited by <delimiter>.
length
Outputs the size of a LIST or OBJECT, or the length of a STRING input.
Alias: len
lower
Convert text to lowercase. Honors Java locale settings.
Alias: lc
md5hex
MD5-hash (bytes encoded in two-character hex format)
Alias: md5
ondefined(<output>)
Output <output> when tag value is defined. White space or the empty string is not considered defined for this test.
onempty(<output>)
For undefined or empty (ie empty string or only whitespace) values, output the given <output>, otherwise let the tag value pass through.
onmatch(/<regex>/,<output>[,/<regex2>/,<output2>[,...]])[nomatch(<nomatchoutput>)]
Don't use this. Really. Use an if-block instead:
{.if (...) } {.elseIf (...) } {.else} {/if}
Far more readable.
qcalc(<operation>)
Perform a limited set of mathematical transformations on an integer input. eg: {$tag|qcalc(+20)}
reverse
Reverse a LIST.
s/<regex>/<replace>/[flags]
Perl-style regular expression search and replace.
selected(<testvalue>)
Output selected="selected" when tag value matches <testvalue>. Argument may be an unbraced $tag.
Aliases: select, sel
sha1hex
SHA-1 hash (bytes encoded in two-character hex format).
Alias: sha1
slice([from]:[to][:step])
Subset a LIST using python-style slice notation. Negative indices and steps are supported.
sort
Sort a LIST of homogenous, comparable items.
split[(<delimiter>|/<regexdelim>/[,<limit>])]
Transform delimited STRING into a LIST, using a simple delimiter or a /regex/ delimiter. Default delimiter is whitespace. <limit> arg is also optional.
sprintf(<format>)
The classic formatter. See [sprintf examples].
th
Ordinal suffix (1 -> 1st, 2 -> 2nd, 10 -> 10th etc.).
Alias: ordsuffix
title
Uppercase the first letter of each word, and lowercase all other characters. See #capitalize. Does not follow any rules about not title-casing small words.
translate
See complete localization documentation to learn how to use this feature.
Aliases: xlate, _
trim
Trim leading and trailing whitespace.
type
Output STRING, LIST, OBJECT, CHUNK or NULL per the tag value type.
unescapexml
Unescape xml-escaped entities, including eg { and λ See #escapexml.
Aliases: unescapehtml, unxml, unhtml, xmlunescape
upper
Convert text to uppercase. Honors Java locale settings.
Alias: uc
urldecode
Restore %AB encoded characters. Plus character (+) is translated back to space.
urlencode
URL-Encode the value.
Alias: url