The `deftwigfn` and `defaliasedtwigfn` are macros that call `clj-jtwig.functions/add-function!` under the hood. If you
prefer, that function can be used directly. Those macros are simply a convenience so you can write template functions
in a 'defn'-style syntax.
#### Standard Library Functions
A number of functions are provided out of the box by Jtwig. A few more are provided to fill in some gaps by clj-jtwig.
| Function | Description
|----------|------------
| [abs](http://jtwig.org/documentation/functions#item_7) | Returns the absolute value of a number.
| [batch](http://jtwig.org/documentation/functions#item_8) | "Batches" items by returning a list of lists with the given number of items. If you provide a second parameter, it is used to fill missing items.
| blankIfNull | If the value given is null, returns a blank string instead of "null".
| [capitalize](http://jtwig.org/documentation/functions#item_9) | Capitalizes a value. The first character will be uppercase, all others lowercase.
| concat | Concatenates any number of values together as strings.
| [convert_encoding](http://jtwig.org/documentation/functions#item_10) | Converts a string from one encoding to another. The first argument is the expected output charset and the second one is the input charset.
| [date_format](http://jtwig.org/documentation/functions#item_11) | Formats a date to a given format. The format specifier is the same as supported by `SimpleDateFormat`.
| [date_modify](http://jtwig.org/documentation/functions#item_13) | Modifies a date with a given modifier string. Can be 'seconds', 'minutes', 'hours', 'days', 'months' or 'years'.
| [default](http://jtwig.org/documentation/functions#item_14) | Returns the passed default value if the value is undefined or empty, otherwise the value of the variable.
| dump | Uses `clojure.pprint/pprint` to dump the entire value of a variable to a string and returns that string.
| [escape](http://jtwig.org/documentation/functions#item_15) | Escapes a string for safe insertion into the final output. The second parameter specifies the escape strategy: 'html' (default), 'js' or 'xml'.
| [first](http://jtwig.org/documentation/functions#item_16) | Returns the first "element" of a sequence, or a string.
| [format](http://jtwig.org/documentation/functions#item_17) | Formats a given string by replacing the placeholders (placeholders follow the `String.format` notation).
| [join](http://jtwig.org/documentation/functions#item_18) | Returns a string which is the concatenation of the items of a sequence. The second parameter specifies a string to place between joined elements (blank string by default).
| [json_encode](http://jtwig.org/documentation/functions#item_19) | Returns the JSON representation of the given value.
| [keys](http://jtwig.org/documentation/functions#item_20) | Returns the keys of a map. It is useful when you want to iterate over the keys of a map.
| [last](http://jtwig.org/documentation/functions#item_21) | Returns the last "element" of a sequence, or a string.
| [length](http://jtwig.org/documentation/functions#item_22) | Returns the number of items of a sequence or mapping, or the length of a string.
| [lower](http://jtwig.org/documentation/functions#item_23) | Converts a value to lowercase.
| max | Returns the biggest value of a sequence or a set of values.
| [merge](http://jtwig.org/documentation/functions#item_26) | Merges a list with another list.
| min | Returns the lowest value of a sequence or a set of values.
| [nl2br](http://jtwig.org/documentation/functions#item_24) | Inserts HTML line breaks before all newlines in a string
| nth | Returns a value from a list corresponding with the index specified.
| [number_format](http://jtwig.org/documentation/functions#item_25) | Formats numbers. You can control the number of decimal places, decimal point, and thousands separator using the arguments.
| random | Returns a random item from a list or set of values. If an single number argument is provided, returns a random number from 0 to the number specified.
| range | Returns a list containing an arithmetic progression of integers. An optional third argument specifies the 'step' which by default is 1.
| [replace](http://jtwig.org/documentation/functions#item_27) | Formats a given string by replacing the placeholders (placeholders are free-form).
| rest | Returns all the items from a list except for the first one.
| [reverse](http://jtwig.org/documentation/functions#item_28) | Reverses a sequence, or a string.
| [round](http://jtwig.org/documentation/functions#item_29) | Rounds a number to a given precision.
| second | Returns the second item of a sequence.
| slice | Extracts a slice of a sequence, or a string where the 2 last arguments specify the start and end indices respectively.
| sort | Sorts a list in ascending order.
| sortDescending | Sorts a list in descending order.
| sortBy | Sorts a list of maps in ascending order. The second argument specifies the key who's value is to be used for sorting comparisons.
| sortDescendingBy |Sorts a list of maps in descending order. The second argument specifies the key who's value is to be used for sorting comparisons.
| split | Splits a string by the given delimiter and returns a list of strings.
| striptags | Strips HTML/XML tags and replaces adjacent whitespace with one space.
| title | Returns a titlecased version of the value. Words will start with uppercase letters, all remaining characters are lowercase.
| trim | Strips whitespace (or other characters) from the beginning and end of a string.
| upper | Converts a value to uppercase.
| url_encode | Percent encodes a given string as URL segment or an array as query string.