Expand description
Mage is an intuitive and powerful template engine.
Supported keywords: for
if
include
set
Mage support expression evaluate with crate eval
.
Built-in functions and operators documentation: eval
.
§Examples
Render template from string:
use mage::Template;
let source = "{{if true}}Hello world!{{if}}";
let output = Template::new().template(source).render().unwrap();
assert_eq!(output, "Hello world!");
Render template from file:
use mage::Template;
let output = Template::new()
.root("examples")
.extension("html")
.open("main")
.unwrap()
.render()
.unwrap();
§Keywords
§For
Loop a value.
{{for value in object}}
{{value}}
{{for}}
{{for value, key in object}}
{{key}}
{{value}}
{{for}}
§If
Conditionally render a block.
{{if boolean}}
Hello world!
{{elseif boolean}}
Hello world!
{{elseif boolean}}
Hello world!
{{else}}
Hello world!
{{if}}
§Include
Include a sub template.
{{include views/header}}
§Set
Set a value to current context.
{{set boolean=true}}
{{set number=123}}
{{set string='Hello world!'}}
Structs§
- Cache
- Compiled template cache
- Function
- Custom function
- Render
Options - Render options
- Template
- Template builder
Enums§
- Error
- Template parsing error
- Expression
Error - Expression parsing error
- Value
- Represents any valid JSON value.
Functions§
- to_
value - Convert variable to
serde_json::Value