Crate mage [−] [src]
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 |
RenderOptions |
Render options |
Template |
Template builder |
Enums
Error |
Template parsing error |
ExpressionError |
Expression parsing error |
Value |
Represents a JSON value |
Functions
to_value |
Shortcut function to encode a |
Type Definitions
Context |
Custom context. |
Contexts |
Custom contexts. The value of the last context is searched first. |
Functions |
Custom functions. |