0.3.4 |
|
---|
#136 在 #markup
在 black_marlin 中使用
73KB
2K SLoC
✨ 特性
- 受 EJS 启发的简单直观语法
- 在模板内包含另一个模板文件
- 内置过滤器
- 最小依赖(总共有15个crates)
- 极快(见 基准测试)
- 更好的错误信息
- 语法高亮支持(vscode,vim)
- 适用于 Rust 1.42 或更高版本
🐟 示例
依赖项
[dependencies]
sailfish = "0.3.3"
模板文件(templates/hello.stpl)
<html>
<body>
<% for msg in &messages { %>
<div><%= msg %></div>
<% } %>
</body>
</html>
代码
use sailfish::TemplateOnce;
#[derive(TemplateOnce)]
#[template(path = "hello.stpl")]
struct HelloTemplate {
messages: Vec<String>
}
fn main() {
let ctx = HelloTemplate {
messages: vec![String::from("foo"), String::from("bar")],
};
println!("{}", ctx.render_once().unwrap());
}
您可以在 示例 目录中找到更多示例。
🐾 路线图
Template
特性(《RFC》)- 模板继承(块、部分等)
👤 作者
🇯🇵 Ryohei Machida
- GitHub: @Kogia-sima
🤝 贡献
欢迎贡献、问题和功能请求!
由于 sailfish 是一个不成熟的库,有很多 计划中的功能 正处于 RFC 阶段。如果您对该设计有任何想法,请留下评论!
我也欢迎任何改进 sailfish 的拉取请求!查找带有 状态:PR 欢迎标签 的问题,并 让我们创建一个新的拉取请求!
展示您的支持
如果此项目对您有帮助,请给它一个 ⭐️!
📝 许可证
版权 © 2020 Ryohei Machida。
本项目采用 MIT 许可证。
此 README 是由 readme-md-generator 用 ❤️ 生成的
依赖项
~1.4–8.5MB
~71K SLoC