3个不稳定版本

使用旧的Rust 2015

0.2.0 2017年2月13日
0.1.1 2016年11月22日
0.1.0 2016年11月21日

#21 in #render-template

29 每月下载量
ocean中使用

MIT 许可证

47KB
1K SLoC

mage

Project Status: Active - The project has reached a stable, usable state and is being actively developed. docs

Mage是一个直观且强大的模板引擎。

文档

用法

将依赖项添加到Cargo.toml

[dependencies]
mage = "^0.2"

在你的main.rslib.rs

extern crate mage;

支持的关键字:for if include set

Mage支持使用crate eval进行表达式评估。内置函数和运算符文档:eval

许可证

mage主要根据MIT许可证条款进行分发。有关详细信息,请参阅LICENSE


lib.rs:

Mage是一个直观且强大的模板引擎。

支持的关键字:for if include set

Mage支持使用crate eval进行表达式评估。内置函数和运算符文档:eval

示例

从字符串渲染模板

use mage::Template;

let source = "{{if true}}Hello world!{{if}}";
let output = Template::new().template(source).render().unwrap();
assert_eq!(output, "Hello world!");

从文件渲染模板

use mage::Template;

let output = Template::new()
    .root("examples")
    .extension("html")
    .open("main")
    .unwrap()
    .render()
    .unwrap();

关键字

For

循环一个值。

{{for value in object}}
    {{value}}
{{for}}

{{for value, key in object}}
    {{key}}
    {{value}}
{{for}}

If

有条件地渲染一个块。

{{if boolean}}
    Hello world!
{{elseif boolean}}
    Hello world!
{{elseif boolean}}
    Hello world!
{{else}}
    Hello world!
{{if}}

Include

包含一个子模板。

{{include views/header}}

Set

将值设置为当前上下文。

{{set boolean=true}}
{{set number=123}}
{{set string='Hello world!'}}

依赖项

~2MB
~39K SLoC