Current section
Files
Jump to
Current section
Files
src/html_dsl.gleam
import gleam/io
import html_dsl/types/html.{
body, button, charset, form, h1, head, html, input, label, li, meta,
new_element, title, ul,
}
import html_dsl/types/class.{Class}
import html_dsl/types/id.{Id}
import html_dsl/types/input.{Submit, Text}
/// Example of creating an HTML string
pub fn main() {
html(
"en",
head([
title("Hello, Gleam!"),
meta("viewport", "width=device-width, initial-scale=1"),
meta("description", "Some website"),
charset("utf-8"),
])
<> body(
Id("main-content"),
Class("grid"),
[],
h1(id.Nil, class.Nil, [], "Hello, Gleam!")
<> ul(id.Nil, class.Nil, [], [
li(id.Nil, class.Nil, [], "This is a list item"),
li(id.Nil, class.Nil, [], "This is another list item"),
])
<> form(id.Nil, class.Nil, [], [
label(id.Nil, class.Nil, [], "Name:"),
input(id.Nil, class.Nil, [], Text, "name"),
input(id.Nil, class.Nil, [], Submit, "submit"),
new_element(button(id.Nil, class.Nil, [], "Click me!")),
]),
),
)
|> html.html_to_string()
|> io.println()
}