gen-html 0.2.1

Generate HTML using Rust
Documentation
# `gen-html`


[<img height="25" src="https://img.shields.io/crates/v/gen-html?style=for-the-badge&logo=rust">](https://crates.io/crates/gen-html/)
[<img height="25" src="https://img.shields.io/badge/docs.rs-66c2a5?style=for-the-badge&logo=docs.rs&labelColor=555555">](https://docs.rs/gen-html/latest/gen_html/)
[<img height="25" src="https://img.shields.io/github/actions/workflow/status/din0x/gen-html/ci.yml?style=for-the-badge">](https://github.com/din0x/gen-html/actions/workflows/ci.yml)

`gen-html` is a templating library for generating HTML from Rust.

## Features


 - **Fast**`html!` macro generates code that is as fast as writing to a string by hand.
 - **Conditional rendering** — you can use `if`, `for` and `match` inside your templates.
 - **Automatic escaping**, however you can opt-out using `Raw<T>`.
 - **Type safety** — HTML tags and attributes are checked at compile time.
 - Integration with the rust web ecosystem (`axum`, `actix-web`).

## Example


```rust
use gen_html::html;

let markup = html! {
    for i in 1..=3 {
        span { (i.to_string()) }
    }
};

println!("{}", markup);
```

The `html!` macro roughly expands to this code.

```rust
use gen_html::{Render, render_fn};

let markup = render_fn(|f| {
    for i in 1..=3 {
        f.write_str("<span>")?;
        (&i.to_string()).render_to(f)?;
        f.write_str("</span>")?;
    }
    Ok(())
});

/* ... */
```