5 个版本

使用旧的 Rust 2015

0.1.0 2016年11月21日
0.0.4 2016年10月14日
0.0.3 2016年7月28日
0.0.2 2016年7月19日
0.0.1 2015年7月31日

217模板引擎

Download history 38/week @ 2024-02-26 30/week @ 2024-03-04 35/week @ 2024-03-11 26/week @ 2024-03-18 21/week @ 2024-03-25 63/week @ 2024-04-01 19/week @ 2024-04-08 29/week @ 2024-04-15 23/week @ 2024-04-22 22/week @ 2024-04-29 22/week @ 2024-05-06 28/week @ 2024-05-13 25/week @ 2024-05-20 32/week @ 2024-05-27 24/week @ 2024-06-03 18/week @ 2024-06-10

每月 101 次下载
2 crates 中使用

MIT 许可证

97KB
2K SLoC

Rustache 构建状态

RustacheRustMustache 规范的实现。

文档

不同的 Mustache 标签在 mustache(5) 手册页中进行了文档说明。

项目的文档页面位于 这里

安装

通过 Cargo 安装

rustache = "^0.1"

然后在您的 crate 中链接它,如下所示

extern crate rustache;

API 方法

当使用 Rustache 时,用户将主要与 render 方法交互,该方法由 rustache::Render trait 提供

// Renders the given template string
let data = rustache::HashBuilder::new().insert("name", "your name");
let out = Cursor::new(Vec::new());
data.render("{{ name }}", &mut out).unwrap();
println!("{}", String::from_utf8(rv.into_inner()).unwrap());

示例

以下是如何使用 HashBuilder 将数据传递给 render_text 方法的示例

let data = HashBuilder::new()
    .insert("name", "Bob");
let out = Cursor::new(Vec::new());

data.render("{{ name }}", &mut out);

以下是如何将 JSON enum 形式的数据传递给 render 方法的示例

let data = json::from_str(r#"{"name": "Bob"}"#);
let out = Cursor::new(Vec::new());

data.render("{{ name }}", &mut out);

有关更多示例,请参阅 tests 目录。

测试

简单地克隆并运行

cargo test

路线图

  • 完全符合 Mustache 规范。

    • 处理注释和部分空白
    • 处理分隔符更改
  • 将错误通过解析器和编译器传递

  • 现实世界项目示例。

  • 同时处理构建和解析操作

贡献

有关如何贡献的指南,请参阅 CONTRIBUTING.md

许可证

版权所有 (c) 2014 Rustache 团队

本文件特此授予任何人免费获得本软件及其相关文档文件(以下简称“软件”)的副本的权利,无需任何限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供副本的人这样做,前提是遵守以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是否基于合同、侵权或其他原因,无论该索赔、损害或其他责任是否源于、产生于或与软件或软件的使用或其他使用有关。

https://github.com/erickt/rust-mustache启发

版权所有 (c) 2012 Erick Tryzelaar

本文件特此授予任何人免费获得本软件及其相关文档文件(以下简称“软件”)的副本的权利,无需任何限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供副本的人这样做,前提是遵守以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是否基于合同、侵权或其他原因,无论该索赔、损害或其他责任是否源于、产生于或与软件或软件的使用或其他使用有关。

依赖项

~4MB
~80K SLoC