Chunk Tag Filters

From Chunk Java Template Engine

Revision as of 18:24, 18 November 2013 by Tom McClure (Talk | contribs)
Jump to: navigation, search

Chunk includes several useful filters right out of the box.

Contents

alternate(<oddoutput>,<evenoutput>)

When tag value is odd, output <oddoutput> - when even, output <evenoutput>.

base64

Base64-encode.

base64decode

Base64-decode.

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 &amp; and handle angle brackets, etc. See #unescapexml.

Aliases: xml, html, xmlescape

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. 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.

qcalc(<operation>)

Perform a limited set of mathematical transformations on an integer input. eg: {$tag|qcalc(+20)}

reverse

Reverse a LIST.

s/<regex>/<replace>/

Perl-style regular expression search and replace.

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.

split[(<delimiter>|/<regexdelim>/[,<limit>])]

Transform delimitd STRING into a LIST. Default delimiter is whitespace. <limit> arg is also optional.

sprintf(<format>)

The classic formatter.

title

Uppercase the first letter of each word, and lowercase all other characters. See #capitalize.

translate

...

Aliases: xlate, _

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 &#123; and &#x03BB; 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

Personal tools