#template #template-string #replace #key #string-key #display

markings

一个非常简单的字符串(模板)替换库

10 个不稳定版本 (3 个破坏性更新)

0.4.0 2020 年 4 月 12 日
0.3.4 2020 年 4 月 6 日
0.3.3 2020 年 2 月 20 日
0.3.2 2019 年 12 月 18 日
0.1.1 2019 年 3 月 21 日

#281模板引擎

每月 41 次下载

0BSD 许可证

21KB
348

markings

Cargo Docs.rs Github Actions

一个简单的基于字符串的模板 '语言'

这仅仅允许你在字符串中用 'Val' 替换 ${key},该 'Val' 实现 std::fmt::Display

简单用法

use markings::{Args, Template, Opts};
// template strings are simply just ${key} markers in a string
// they are replaced with a cooresponding value when .apply() is used
let input = "hello ${name}, an answer: ${greeting}.";

// parse a template with the default options
// templates are clonable, they are 'consumed' on application.
let template = Template::parse(&input, Opts::default()).unwrap();

// construct some replacement args, this is reusable
let args = Args::new()
     // with constructs a key:val pair,
     // key must be a &str,
     // value is anything that implements std::fmt::Display
    .with("name", &"test-user")
    .with("greeting", &false);    

// apply the pre-computed args to the template, consuming the template
let output = template.apply(&args).unwrap();
assert_eq!(output, "hello test-user, an answer: false.");

许可证:0BSD

无运行时依赖