# README
API Reference
_
_
is a no-op function that returns an empty string. It's useful to place a newline in the template.
Example:
{{- if .Ok}}
{{printf "ok: %v" .Ok}}
{{_}}
{{- end}}
Convert
bool
bool
converts a value to a boolean.
Example:
{{bool 1}}
{{bool "false"}}
Output:
true
false
float
float
converts a value to a float.
Example:
{{float "3.14"}}
{{float 42}}
Output:
3.14
42
int
int
converts a value to an integer.
Example:
{{int "42"}}
{{int 3.14}}
Output:
42
3
string
string
converts a value to a string.
Example:
{{string 42}}
{{string true}}
Output:
42
true
Date
now
now
returns the current time.
Example:
{{now}}
Output:
2024-09-12 15:04:05.999999999 +0000 UTC
parseTime
parseTime
parses a time string using the specified layout.
- Parameters: (layout: string, value: string)
Example:
{{parseTime "2006-01-02" "2024-09-12"}}
Output:
2024-09-12 00:00:00 +0000 UTC
Encoding
b64dec
b64dec
decodes a base64 encoded string.
Example:
{{b64dec "SGVsbG8sIFdvcmxkIQ=="}}
Output:
Hello, World!
b64enc
b64enc
encodes a string to base64.
Example:
{{b64enc "Hello, World!"}}
Output:
SGVsbG8sIFdvcmxkIQ==
List
first
first
returns the first element of a list or string.
Example:
{{first (list 1 2 3)}}
{{first "hello"}}
Output:
1
h
includes
includes
checks if an item is present in a list, map, or string.
- Parameters: (item: any, collection: slice | map | string)
- Returns: bool
Example:
{{includes 2 (list 1 2 3)}}
{{includes "world" "hello world"}}
Output:
true
true
last
last
returns the last element of a list or string.
Example:
{{last (list 1 2 3)}}
{{last "hello"}}
Output:
3
o
list
list
creates a list from the given arguments.
Example:
{{list 1 2 3}}
Output:
[1 2 3]
map
map
maps a list of values using the given function and returns a list of results.
- Parameters: (fn: function, list: slice)
Example:
{{list 1 2 3 | map (add 1)}}
{{list "a" "b" "c" | map (upper | replace "A" "X")}}
Output:
[2 3 4]
[X B C]
reverse
reverse
reverses a list or string.
Example:
{{reverse (list 1 2 3)}}
{{reverse "hello"}}
Output:
[3 2 1]
olleh
sort
sort
sorts a list of numbers or strings.
Example:
{{sort (list 3 1 4 1 5 9)}}
{{sort (list "banana" "apple" "cherry")}}
Output:
[1 1 3 4 5 9]
[apple banana cherry]
uniq
uniq
removes duplicate elements from a list.
Example:
{{uniq (list 1 2 2 3 3 3)}}
Output:
[1 2 3]
Math
add
add
adds two numbers.
- Parameters: (a: number, b: number)
Example:
{{add 2 3}}
Output:
5
ceil
ceil
returns the least integer value greater than or equal to the input.
Example:
{{ceil 3.14}}
Output:
4
floor
floor
returns the greatest integer value less than or equal to the input.
Example:
{{floor 3.14}}
Output:
3
max
max
returns the maximum of a list of numbers.
- Parameters: numbers (variadic)
Example:
{{max 3 1 4 1 5 9}}
Output:
9
min
min
returns the minimum of a list of numbers.
- Parameters: numbers (variadic)
Example:
{{min 3 1 4 1 5 9}}
Output:
1
mod
mod
returns the modulus of dividing the first number by the second.
- Parameters: (a: number, b: number)
Example:
{{mod -7 3}}
Output:
2
mul
mul
multiplies two numbers.
- Parameters: (a: number, b: number)
Example:
{{mul 2 3}}
Output:
6
quo
quo
divides the first number by the second.
- Parameters: (a: number, b: number)
Example:
{{quo 6 3}}
Output:
2
rem
rem
returns the remainder of dividing the first number by the second.
- Parameters: (a: number, b: number)
Example:
{{rem 7 3}}
Output:
1
round
round
rounds a number to a specified number of decimal places.
- Parameters: (precision: integer, value: number)
Example:
{{round 2 3.14159}}
Output:
3.14
sub
sub
subtracts the second number from the first.
- Parameters: (a: number, b: number)
Example:
{{sub 5 3}}
Output:
2
Strings
camelCase
camelCase
converts a string to camelCase.
Example:
{{camelCase "hello world"}}
Output:
helloWorld
capitalize
capitalize
capitalizes the first character of a string.
Example:
{{capitalize "hello"}}
Output:
Hello
center
center
centers a string in a field of a given width.
- Parameters: (width: int, target: string)
Example:
{{center 20 "Hello"}}
Output:
" Hello "
hasPrefix
hasPrefix
checks if a string starts with a given prefix.
- Parameters: (prefix: string, target: string)
- Returns: bool
Example:
{{hasPrefix "Hello" "Hello, World!"}}
Output:
true
hasSuffix
hasSuffix
checks if a string ends with a given suffix.
- Parameters: (suffix: string, target: string)
- Returns: bool
Example:
{{hasSuffix "World!" "Hello, World!"}}
Output:
true
html
html
escapes special characters in a string for use in HTML.
Example:
{{html "<script>alert('XSS')</script>"}}
Output:
<script>alert('XSS')</script>
join
join
joins a slice of strings with a separator.
- Parameters: (separator: string, values: slice of strings)
- Returns: string
Example:
{{join "-" (list "apple" "banana" "cherry")}}
Output:
apple-banana-cherry
kebabCase
kebabCase
converts a string to kebab-case.
Example:
{{kebabCase "helloWorld"}}
Output:
hello-world
lower
lower
converts a string to lowercase.
Example:
{{lower "HELLO"}}
Output:
hello
matchRegex
matchRegex
checks if a string matches a regular expression.
- Parameters: (pattern: string, target: string)
- Returns: bool
Example:
{{matchRegex "^[a-z]+$" "hello"}}
Output:
true
pascalCase
pascalCase
converts a string to PascalCase.
Example:
{{pascalCase "hello world"}}
Output:
HelloWorld
quote
quote
returns a double-quoted string.
Example:
{{print "hello"}}
{{quote "hello"}}
Output:
hello
"hello"
repeat
repeat
repeats a string a specified number of times.
- Parameters: (count: int, target: string)
Example:
{{repeat 3 "abc"}}
Output:
abcabcabc
replace
replace
replaces all occurrences of a substring with another substring.
- Parameters: (old: string, new: string, target: string)
Example:
{{replace "o" "0" "hello world"}}
Output:
hell0 w0rld
replaceN
replaceN
replaces the first n occurrences of a substring with another substring.
- Parameters: (old: string, new: string, n: int, target: string)
Example:
{{replaceN "o" "0" 1 "hello world"}}
Output:
hell0 world
snakeCase
snakeCase
converts a string to snake_case.
Example:
{{snakeCase "helloWorld"}}
Output:
hello_world
split
split
splits a string by a separator.
- Parameters: (separator: string, target: string)
- Returns: slice of strings
Example:
{{split "," "apple,banana,cherry"}}
Output:
[apple banana cherry]
striptags
striptags
removes HTML tags from a string.
Example:
{{striptags "<p>Hello <b>World</b>!</p>"}}
Output:
Hello World!
substr
substr
extracts a substring from a string.
- Parameters: (start: int, length: int, target: string)
Example:
{{substr 0 5 "Hello, World!"}}
Output:
Hello
trim
trim
removes leading and trailing whitespace from a string.
Example:
{{trim " hello "}}
Output:
hello
trimPrefix
trimPrefix
removes a prefix from a string if it exists.
- Parameters: (prefix: string, target: string)
Example:
{{trimPrefix "Hello, " "Hello, World!"}}
Output:
World!
trimSuffix
trimSuffix
removes a suffix from a string if it exists.
- Parameters: (suffix: string, target: string)
Example:
{{trimSuffix ", World!" "Hello, World!"}}
Output:
Hello
truncate
truncate
truncates a string to a specified length and adds a suffix if truncated.
- Parameters: (length: int, suffix: string, target: string)
Example:
{{truncate 10 "..." "This is a long sentence."}}
Output:
This is a...
unquote
unquote
returns an unquoted string.
Example:
{{unquote "\"hello\""}}
Output:
hello
upper
upper
converts a string to uppercase.
Example:
{{upper "hello"}}
Output:
HELLO
urlEscape
urlEscape
escapes a string for use in a URL query.
Example:
{{urlEscape "hello world"}}
Output:
hello+world
urlUnescape
urlUnescape
unescapes a URL query string.
Example:
{{urlUnescape "hello+world"}}
Output:
hello world
wordwrap
wordwrap
wraps words in a string to a specified width.
- Parameters: (width: int, target: string)
Example:
{{wordwrap 10 "This is a long sentence that needs wrapping."}}
Output:
This is a
long
sentence
that needs
wrapping.