html/
main.rs

1#![allow(non_snake_case)]
2
3use ryde::*;
4
5routes!(("/", get(get_slash)), ("/*files", get(get_files)));
6
7embed_static_files!("examples/html/static");
8
9#[main]
10async fn main() {
11    serve("::1:3000", routes()).await
12}
13
14async fn get_slash() -> Html {
15    html! {
16        <View>
17            <Heading route=url!(get_slash)/>
18            <P>"ryde with rust 🐎!"</P>
19        </View>
20    }
21}
22
23fn Heading(route: String) -> Component {
24    html! {
25        <h1 class="text-2xl text-gray-950 dark:text-amber-300 dark:bg-gray-950">
26            you are here {&route}
27        </h1>
28    }
29}
30
31fn P(elements: Elements) -> Component {
32    html! { <p class="text-base bg-gray-950 bg-amber-500 dark:bg-gray-950">{elements}</p> }
33}
34
35fn View(elements: Elements) -> Component {
36    html! {
37        <!DOCTYPE html>
38        <html>
39            <head>{render_static_files!()}</head>
40            <body>{elements}</body>
41        </html>
42    }
43}