getting_started/
getting_started.rs

1use html_rs::{
2    elements::{Div, ElementBuilder, TextContent, Title, P},
3    Html, HtmlBody, HtmlScript, HtmlStyle,
4};
5
6fn main() {
7    let title = Title::builder().append_child(TextContent::text("It works!"));
8    let style = HtmlStyle::new("body { color: #000000; }");
9    let script1 = HtmlScript::new(
10        format!(
11            r#"console.log("Hello from file {} at line {}")"#,
12            file!(),
13            line!(),
14        )
15        .as_str(),
16    );
17
18    let div = Div::builder().attr("class", "light-theme").append_child(
19        P::builder()
20            .attr("class", "light-theme")
21            .append_child(TextContent::text("It Works!")),
22    );
23
24    let body = HtmlBody::builder()
25        .set_attr("lang", "en")
26        .script(script1)
27        .append_child(div);
28
29    let script2 = HtmlScript::new(
30        format!(
31            r#"console.log("Hello from file {} at line {}")"#,
32            file!(),
33            line!(),
34        )
35        .as_str(),
36    );
37    let html = Html::builder()
38        .head_item(title)
39        .add_style(style)
40        .add_script(script2)
41        .body(body);
42
43    #[cfg(feature = "debug")]
44    dbg!(&html);
45
46    println!("{html}");
47}