Horrorshow

Build Status

A macro-based html templating library (1.0 compatible).

Documentation: https://stebalien.github.io/horrorshow-rs/horrorshow/

Example:

```rust

#[macro_use] extern crate horrorshow;

fn main() {

use horrorshow::prelude::*; let actual = html! { html { head { title { : "Hello world!" } } body { // attributes h1(id="heading") { // Insert escaped text : "Hello! This is " } p { // Insert raw text (unescaped) : raw!("Let's count to 10!") } ol(id="count") { // run some inline code... |mut tmpl| for i in 0..10 { // append to the current template. // store output because rust bug #25753 tmpl = tmpl << html! { li { // format some text #{"{}", i+1 } } }; } } // You need semi-colons for tags without children. br; br; p { : "Easy!" } } } }.into_string();

let expected = "\ \ \ Hello world!\ \ \

Hello! This is <html />

\

Let's count to 10!

\
    \
  1. 1
  2. \
  3. 2
  4. \
  5. 3
  6. \
  7. 4
  8. \
  9. 5
  10. \
  11. 6
  12. \
  13. 7
  14. \
  15. 8
  16. \
  17. 9
  18. \
  19. 10
  20. \
\

\

Easy!

\ \ "; assert_eq!(expected, actual);

}

```