Chunk Tag Filters

From Chunk Java Template Engine

(Difference between revisions)
Jump to: navigation, search
(escapexml)
(get())
Line 47: Line 47:
== get(<index>) ==
== get(<index>) ==
-
Output the LIST element at <index>.  Negative indices count back from the end of the LIST.
+
Output the LIST element at <index>.  Zero (0) is the first element and -1 is the last element.  Negative indices count back from the end of the LIST.
== indent(<howmany>[,indentstring]) ==
== indent(<howmany>[,indentstring]) ==

Revision as of 06:06, 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}.

Contents

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 &amp; and handle angle brackets, single and double quotes, 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>. Zero (0) is the first element and -1 is the last element. 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

English 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 &#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