1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
//! yate is a simple, idiomatic, combined html template engine and static site //! generator. //! //! Templating is done through composing html macro generated string chunks that //! can be returned by Rust functions. The macro, powered by [syn-rsx], supports //! arbitrary Rust syntax in braced blocks in various html positions which //! unlocks using regular language features without being limited by specialized //! template syntax. The fact that the composed content is just a string makes //! it very flexible and allows e.g. serving it with a webserver or write it as //! static content. //! //! # Example //! ``` //! # async { //! use yate::html; //! //! fn content() -> String { //! html! { <div>"content"</div> } //! } //! //! fn index() -> String { //! html! { //! <!DOCTYPE html> //! <html> //! <head></head> //! <body> //! {content()} //! </body> //! </html> //! } //! } //! //! std::fs::write("index.html", index())?; //! # //! # Ok::<(), Box<dyn std::error::Error>>(()) }; //! ``` //! //! [syn-rsx]: https://crates.io/crates/syn-rsx pub use html_to_string_macro::html;