4 个版本 (2 个稳定)
1.1.4 | 2022年7月16日 |
---|---|
1.1.3 | 2022年3月3日 |
0.1.2 | 2022年3月2日 |
0.1.0 | 2022年3月2日 |
在 #complexity 中排名 21
每月下载 463 次
用于 sssg
15KB
171 行
Placeholder
无复杂性的占位符模板引擎
你可能熟悉 printf!()
、format!()
和类似函数如何使用 {<named>}
占位符。此模块在其模板中使用相同的样式,以便在完整的文本模板引擎中使用。
示例 1
use placeholder::render;
use std::collections::HashMap;
fn main() {
let template = String::from("<h1>{greet} {name}</h1><p>Do you like {food}?</p>");
let mut values = HashMap::new();
values.insert(String::from("greet"), String::from("Hello"));
values.insert(String::from("name"), String::from("Homer"));
values.insert(String::from("food"), String::from("Donuts"));
assert!(render(&template, &values)
== Ok(String::from("<h1>Hello Homer</h1><p>Do you like Donuts?</p>")));
}
示例 2(缺少占位符值)
use placeholder::render;
use std::collections::HashMap;
fn main() {
let template = String::from("<h1>{greet} {name}</h1>");
let mut values = HashMap::new();
values.insert(String::from("greet"), String::from("Hello"));
assert!(render(&template, &values)
== Err(String::from("name")));
}
支持
请在以下位置报告任何错误或功能请求:
请随意分叉仓库并提交拉取请求 :)
作者
Alfie John <[email protected]>
保修
没有任何类型的保修。
版权和许可
版权 (C) 2022 由 Alfie John
本程序是免费软件:您可以在自由软件基金会发布的 GNU 通用公共许可证和 GNU 自由文档许可证的条款下重新分发和/或修改它,无论是 GPL 的第 3 版或 GFDL 的第 1.3 版,还是(根据您的选择)任何更新的版本。
本程序的分发是希望它将是有用的,但没有任何保证;甚至没有关于其可销售性或适用于特定用途的隐含保证。有关详细信息,请参阅 GNU 通用公共许可证。
您应该已经收到 GNU 通用公共许可证的副本。如果没有,请参阅 https://www.gnu.org/licenses/。
依赖项
~2.2–3MB
~54K SLoC