Chunk Tag Filters
From Chunk Java Template Engine
Tom McClure (Talk | contribs) (→slice([from]:[to][:step])) |
Tom McClure (Talk | contribs) |
||
Line 8: | Line 8: | ||
Alias: cap | Alias: cap | ||
+ | |||
+ | == 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 | ||
== indent(<howmany>[,indentstring]) == | == indent(<howmany>[,indentstring]) == | ||
Line 45: | Line 60: | ||
== 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]]. | ||
+ | |||
+ | == trim == | ||
+ | Trim leading and trailing whitespace. | ||
== type == | == type == | ||
Output STRING, LIST, OBJECT, CHUNK or NULL per the tag value. | Output STRING, LIST, OBJECT, CHUNK or NULL per the tag value. | ||
+ | |||
+ | == unescapexml == | ||
+ | Unescape xml-escaped entities, including eg { and λ See [[#escapexml]]. | ||
+ | |||
+ | Aliases: unescapehtml, unxml, unhtml, xmlunescape | ||
== upper == | == upper == | ||
Line 53: | Line 76: | ||
Alias: uc | Alias: uc | ||
+ | |||
+ | == urldecode == | ||
+ | Restore %AB encoded characters. Plus character (+) is translated back to space. | ||
+ | |||
+ | == urlencode == | ||
+ | URL-Encode the value. | ||
+ | |||
+ | Alias: url |
Revision as of 18:11, 18 November 2013
Chunk includes several useful filters right out of the box.
alternate(<oddoutput>,<evenoutput>)
When tag value is odd, output <oddoutput> - when even, output <evenoutput>.
capitalize
Uppercase the first letter of each word. Leave case of other characters intact. See #title.
Alias: cap
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
indent(<howmany>[,indentstring])
Indent each line of the input by <howmany>. Default indentstring is a space.
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
ondefined(<output>)
Output <output> when tag value is defined. Note that a tag value of null becomes the empty string, which is considered defined. To be undefined, the tag label must not exist in the tag table at all.
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 {.if (...)} {.elseIf (...)} {.else} {/if} instead. Far more readable.
reverse
Reverse a LIST.
s/<regex>/<replace>/
Perl-style regular expression search and replace.
slice([from]:[to][:step])
Subset a LIST using python-style slice notation.
sprintf(<format>)
The classic formatter.
title
Uppercase the first letter of each word, and lowercase all other characters. See #capitalize.
trim
Trim leading and trailing whitespace.
type
Output STRING, LIST, OBJECT, CHUNK or NULL per the tag value.
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