The riot template engine
npm install riot-tmpl --save
From v2.4.2, bower is not supported.
Three ways:
-
Expressions:
tmpl('{ value }', data)
. Returns the result of evaluated expression as a raw object. -
Templates:
tmpl('Hi { name } { surname }', data)
. Returns a string with evaluated expressions. -
Filters:
tmpl('{ show: !done, highlight: active }', data)
. Returns a space separated list of trueish keys (mainly used for setting html classes), e.g. "show highlight".
tmpl('{ title || "Untitled" }', data)
tmpl('Results are { results ? "ready" : "loading" }', data)
tmpl('Today is { new Date() }', data)
tmpl('{ message.length > 140 && "Message is too long" }', data)
tmpl('This item got { Math.round(rating) } stars', data)
tmpl('<h1>{ title }</h1>{ body }', data)
In templates (as opposed to single expressions) all falsy values except zero (undefined/null/false) will default to empty string:
tmpl('{ undefined } - { false } - { null } - { 0 }', {})
// will return: " - - - 0"
tmpl('{}') // undefined
tmpl('{ false }', {}) // false
tmpl('{ null }', {}) // null
tmpl('{ 0 }', {}) // 0
- Brackets can not contain characters in the set
[\x00-\x1F<>a-zA-Z0-9'",;\\]
- No comments in expressions, the compiler is the only that strip comments
- Attributes with expressions containing
>
must be quoted