An open API service indexing awesome lists of open source software.

https://github.com/swlkr/hyped

Write html using plain rust functions
https://github.com/swlkr/hyped

Last synced: 9 months ago
JSON representation

Write html using plain rust functions

Awesome Lists containing this project

README

          

# hyped

hyped offers an ergonomic way to render html from plain rust functions

```sh
cargo add hyped
```

# Write some html

```rust
use hyped::*;

fn render_to_string(element: Element) -> String {
render((
doctype(),
html((
head((title("title"), meta().charset("utf-8"))),
body(element)
))
))
}

#[cfg(test)]
mod tests {

#[test]
fn it_works() {
assert_eq!(
render_to_string(div("hyped")),
"title

hyped
"
)
}
}
```

# Custom attributes

```rust
use hyped::*;

fn htmx_input() -> Element {
input()
.attr("hx-post", "/")
.attr("hx-target", ".target")
.attr("hx-swap", "outerHTML")
.attr("hx-push-url", "false")
}

fn main() {
let html: String = render(htmx_input());
// html ==
}
```

# Custom elements

```rust
use hyped::*;

fn turbo_frame(children: Element) -> Element {
element("turbo-frame", children)
}

fn main() {
let html: String = render(turbo_frame(div("inside turbo frame")).id("id"));
// html ==
//
//

inside turbo frame

//
}
```