用于 Rust 的简单、小巧且极其快速的模板引擎
Code: ```rust use sailfish::TemplateSimple; #[derive(TemplateSimple)] #[template(path = "hello.stpl")] struct HelloTemplate { messages: Vec } fn main() { let ctx = HelloTemplate { messages: vec![String::from("foo"), String::from("bar")], }; println!("{}", ctx.render_once().unwrap()); }
Or use the more powerful Template/TemplateMut/TemplateOnce:
Template file (templates/hello.stpl):
Code: ```rust use sailfish::Template; #[derive(Template)] #[template(path = "hello.stpl")] struct HelloTemplate { messages: Vec } impl HelloTemplate { fn say_hello(&self) -> String { String::from("Hello!") } } fn main() { let ctx = HelloTemplate { messages: vec![String::from("foo"), String::from("bar")], }; println!("{}", ctx.render().unwrap()); }
You can find more examples in examples directory.
Template trait (RFC)Ryohei Machida
Contributions, issues and feature requests are welcome!
Since sailfish is an immature library, there are many planned features that is on a stage of RFC. Please leave a comment if you have an idea about its design!
Also I welcome any pull requests to improve sailfish! Find issues with Status: PR Welcome label, and let's create a new pull request!
Give a ⭐️ if this project helped you!
Copyright © 2020 Ryohei Machida.
This project is MIT licensed.
This README was generated with ❤️ by readme-md-generator
sudo apt install mkdocs mkdocs-material
cd sailfish_root_folder &&
cd docs && cd en
mkdocs build
暂无开放 Issues,或尚未同步最近议题。