// Package html provides common HTML elements and attributes. // See https://developer.mozilla.org/en-US/docs/Web/HTML/Element for a list of elements. // See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes for a list of attributes. package html import ( "fmt" "io" g "github.com/maragudk/gomponents" ) func A(href string, children ...g.Node) g.NodeFunc { return g.El("a", g.Attr("href", href), g.Group(children)) } // Doctype returns a special kind of Node that prefixes its sibling with the string "". func Doctype(sibling g.Node) g.NodeFunc { return func(w io.Writer) error { if _, err := w.Write([]byte("")); err != nil { return err } return sibling.Render(w) } } // FormEl returns an element with name "form", the given action and method attributes, and the given children. func FormEl(action, method string, children ...g.Node) g.NodeFunc { return g.El("form", g.Attr("action", action), g.Attr("method", method), g.Group(children)) } func Img(src, alt string, children ...g.Node) g.NodeFunc { return g.El("img", g.Attr("src", src), g.Attr("alt", alt), g.Group(children)) } // Input returns an element with name "input", the given type and name attributes, and the given children. // Note that "type" is a keyword in Go, so the parameter is called typ. func Input(typ, name string, children ...g.Node) g.NodeFunc { return g.El("input", g.Attr("type", typ), g.Attr("name", name), g.Group(children)) } // Label returns an element with name "label", the given for attribute, and the given children. // Note that "for" is a keyword in Go, so the parameter is called forr. func Label(forr string, children ...g.Node) g.NodeFunc { return g.El("label", g.Attr("for", forr), g.Group(children)) } // Option returns an element with name "option", the given text content and value attribute, and the given children. func Option(text, value string, children ...g.Node) g.NodeFunc { return g.El("option", g.Attr("value", value), g.Text(text), g.Group(children)) } // Progress returns an element with name "progress", the given value and max attributes, and the given children. func Progress(value, max float64, children ...g.Node) g.NodeFunc { return g.El("progress", g.Attr("value", fmt.Sprintf("%v", value)), g.Attr("max", fmt.Sprintf("%v", max)), g.Group(children)) } // Select returns an element with name "select", the given name attribute, and the given children. func Select(name string, children ...g.Node) g.NodeFunc { return g.El("select", g.Attr("name", name), g.Group(children)) } // Textarea returns an element with name "textarea", the given name attribute, and the given children. func Textarea(name string, children ...g.Node) g.NodeFunc { return g.El("textarea", g.Attr("name", name), g.Group(children)) } func Address(children ...g.Node) g.NodeFunc { return g.El("address", children...) } func Area(children ...g.Node) g.NodeFunc { return g.El("area", children...) } func Article(children ...g.Node) g.NodeFunc { return g.El("article", children...) } func Aside(children ...g.Node) g.NodeFunc { return g.El("aside", children...) } func Audio(children ...g.Node) g.NodeFunc { return g.El("audio", children...) } func Base(children ...g.Node) g.NodeFunc { return g.El("base", children...) } func BlockQuote(children ...g.Node) g.NodeFunc { return g.El("blockquote", children...) } func Body(children ...g.Node) g.NodeFunc { return g.El("body", children...) } func Br(children ...g.Node) g.NodeFunc { return g.El("br", children...) } func Button(children ...g.Node) g.NodeFunc { return g.El("button", children...) } func Canvas(children ...g.Node) g.NodeFunc { return g.El("canvas", children...) } func Cite(children ...g.Node) g.NodeFunc { return g.El("cite", children...) } func Code(children ...g.Node) g.NodeFunc { return g.El("code", children...) } func Col(children ...g.Node) g.NodeFunc { return g.El("col", children...) } func ColGroup(children ...g.Node) g.NodeFunc { return g.El("colgroup", children...) } func Data(children ...g.Node) g.NodeFunc { return g.El("data", children...) } func DataList(children ...g.Node) g.NodeFunc { return g.El("datalist", children...) } func Details(children ...g.Node) g.NodeFunc { return g.El("details", children...) } func Dialog(children ...g.Node) g.NodeFunc { return g.El("dialog", children...) } func Div(children ...g.Node) g.NodeFunc { return g.El("div", children...) } func Dl(children ...g.Node) g.NodeFunc { return g.El("dl", children...) } func Embed(children ...g.Node) g.NodeFunc { return g.El("embed", children...) } func FieldSet(children ...g.Node) g.NodeFunc { return g.El("fieldset", children...) } func Figure(children ...g.Node) g.NodeFunc { return g.El("figure", children...) } func Footer(children ...g.Node) g.NodeFunc { return g.El("footer", children...) } func Head(children ...g.Node) g.NodeFunc { return g.El("head", children...) } func Header(children ...g.Node) g.NodeFunc { return g.El("header", children...) } func HGroup(children ...g.Node) g.NodeFunc { return g.El("hgroup", children...) } func Hr(children ...g.Node) g.NodeFunc { return g.El("hr", children...) } func HTML(children ...g.Node) g.NodeFunc { return g.El("html", children...) } func IFrame(children ...g.Node) g.NodeFunc { return g.El("iframe", children...) } func Legend(children ...g.Node) g.NodeFunc { return g.El("legend", children...) } func Li(children ...g.Node) g.NodeFunc { return g.El("li", children...) } func Link(children ...g.Node) g.NodeFunc { return g.El("link", children...) } func Main(children ...g.Node) g.NodeFunc { return g.El("main", children...) } func Menu(children ...g.Node) g.NodeFunc { return g.El("menu", children...) } func Meta(children ...g.Node) g.NodeFunc { return g.El("meta", children...) } func Meter(children ...g.Node) g.NodeFunc { return g.El("meter", children...) } func Nav(children ...g.Node) g.NodeFunc { return g.El("nav", children...) } func NoScript(children ...g.Node) g.NodeFunc { return g.El("noscript", children...) } func Object(children ...g.Node) g.NodeFunc { return g.El("object", children...) } func Ol(children ...g.Node) g.NodeFunc { return g.El("ol", children...) } func OptGroup(children ...g.Node) g.NodeFunc { return g.El("optgroup", children...) } func P(children ...g.Node) g.NodeFunc { return g.El("p", children...) } func Param(children ...g.Node) g.NodeFunc { return g.El("param", children...) } func Picture(children ...g.Node) g.NodeFunc { return g.El("picture", children...) } func Pre(children ...g.Node) g.NodeFunc { return g.El("pre", children...) } func Script(children ...g.Node) g.NodeFunc { return g.El("script", children...) } func Section(children ...g.Node) g.NodeFunc { return g.El("section", children...) } func Source(children ...g.Node) g.NodeFunc { return g.El("source", children...) } func Span(children ...g.Node) g.NodeFunc { return g.El("span", children...) } func StyleEl(children ...g.Node) g.NodeFunc { return g.El("style", children...) } func Summary(children ...g.Node) g.NodeFunc { return g.El("summary", children...) } func SVG(children ...g.Node) g.NodeFunc { return g.El("svg", children...) } func Table(children ...g.Node) g.NodeFunc { return g.El("table", children...) } func TBody(children ...g.Node) g.NodeFunc { return g.El("tbody", children...) } func Td(children ...g.Node) g.NodeFunc { return g.El("td", children...) } func TFoot(children ...g.Node) g.NodeFunc { return g.El("tfoot", children...) } func Th(children ...g.Node) g.NodeFunc { return g.El("th", children...) } func THead(children ...g.Node) g.NodeFunc { return g.El("thead", children...) } func Tr(children ...g.Node) g.NodeFunc { return g.El("tr", children...) } func Ul(children ...g.Node) g.NodeFunc { return g.El("ul", children...) } func Wbr(children ...g.Node) g.NodeFunc { return g.El("wbr", children...) } func Abbr(text string, children ...g.Node) g.NodeFunc { return g.El("abbr", g.Text(text), g.Group(children)) } func B(text string, children ...g.Node) g.NodeFunc { return g.El("b", g.Text(text), g.Group(children)) } func Caption(text string, children ...g.Node) g.NodeFunc { return g.El("caption", g.Text(text), g.Group(children)) } func Dd(text string, children ...g.Node) g.NodeFunc { return g.El("dd", g.Text(text), g.Group(children)) } func Del(text string, children ...g.Node) g.NodeFunc { return g.El("del", g.Text(text), g.Group(children)) } func Dfn(text string, children ...g.Node) g.NodeFunc { return g.El("dfn", g.Text(text), g.Group(children)) } func Dt(text string, children ...g.Node) g.NodeFunc { return g.El("dt", g.Text(text), g.Group(children)) } func Em(text string, children ...g.Node) g.NodeFunc { return g.El("em", g.Text(text), g.Group(children)) } func FigCaption(text string, children ...g.Node) g.NodeFunc { return g.El("figcaption", g.Text(text), g.Group(children)) } // H1 returns an element with name "h1", the given text content, and the given children. func H1(text string, children ...g.Node) g.NodeFunc { return g.El("h1", g.Text(text), g.Group(children)) } // H2 returns an element with name "h2", the given text content, and the given children. func H2(text string, children ...g.Node) g.NodeFunc { return g.El("h2", g.Text(text), g.Group(children)) } // H3 returns an element with name "h3", the given text content, and the given children. func H3(text string, children ...g.Node) g.NodeFunc { return g.El("h3", g.Text(text), g.Group(children)) } // H4 returns an element with name "h4", the given text content, and the given children. func H4(text string, children ...g.Node) g.NodeFunc { return g.El("h4", g.Text(text), g.Group(children)) } // H5 returns an element with name "h5", the given text content, and the given children. func H5(text string, children ...g.Node) g.NodeFunc { return g.El("h5", g.Text(text), g.Group(children)) } // H6 returns an element with name "h6", the given text content, and the given children. func H6(text string, children ...g.Node) g.NodeFunc { return g.El("h6", g.Text(text), g.Group(children)) } func I(text string, children ...g.Node) g.NodeFunc { return g.El("i", g.Text(text), g.Group(children)) } func Ins(text string, children ...g.Node) g.NodeFunc { return g.El("ins", g.Text(text), g.Group(children)) } func Kbd(text string, children ...g.Node) g.NodeFunc { return g.El("kbd", g.Text(text), g.Group(children)) } func Mark(text string, children ...g.Node) g.NodeFunc { return g.El("mark", g.Text(text), g.Group(children)) } func Q(text string, children ...g.Node) g.NodeFunc { return g.El("q", g.Text(text), g.Group(children)) } func S(text string, children ...g.Node) g.NodeFunc { return g.El("s", g.Text(text), g.Group(children)) } func Samp(text string, children ...g.Node) g.NodeFunc { return g.El("samp", g.Text(text), g.Group(children)) } func Small(text string, children ...g.Node) g.NodeFunc { return g.El("small", g.Text(text), g.Group(children)) } func Strong(text string, children ...g.Node) g.NodeFunc { return g.El("strong", g.Text(text), g.Group(children)) } func Sub(text string, children ...g.Node) g.NodeFunc { return g.El("sub", g.Text(text), g.Group(children)) } func Sup(text string, children ...g.Node) g.NodeFunc { return g.El("sup", g.Text(text), g.Group(children)) } func Time(text string, children ...g.Node) g.NodeFunc { return g.El("time", g.Text(text), g.Group(children)) } func TitleEl(title string, children ...g.Node) g.NodeFunc { return g.El("title", g.Text(title), g.Group(children)) } func U(text string, children ...g.Node) g.NodeFunc { return g.El("u", g.Text(text), g.Group(children)) } func Var(text string, children ...g.Node) g.NodeFunc { return g.El("var", g.Text(text), g.Group(children)) }