about summary refs log tree commit diff stats
path: root/el
diff options
context:
space:
mode:
Diffstat (limited to 'el')
-rw-r--r--el/elements.go68
-rw-r--r--el/elements_test.go82
-rw-r--r--el/simple.go257
-rw-r--r--el/simple_test.go97
-rw-r--r--el/text.go131
-rw-r--r--el/text_test.go52
6 files changed, 0 insertions, 687 deletions
diff --git a/el/elements.go b/el/elements.go
deleted file mode 100644
index 0841ff8..0000000
--- a/el/elements.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// Package el provides shortcuts and helpers to common HTML elements.
-// See https://developer.mozilla.org/en-US/docs/Web/HTML/Element for a list of elements.
-package el
-
-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))
-}
-
-// Document returns an special kind of Node that prefixes its child with the string "<!doctype html>".
-func Document(child g.Node) g.NodeFunc {
-	return func(w io.Writer) error {
-		if _, err := w.Write([]byte("<!doctype html>")); err != nil {
-			return err
-		}
-		return child.Render(w)
-	}
-}
-
-// Form returns an element with name "form", the given action and method attributes, and the given children.
-func Form(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))
-}
diff --git a/el/elements_test.go b/el/elements_test.go
deleted file mode 100644
index adce6df..0000000
--- a/el/elements_test.go
+++ /dev/null
@@ -1,82 +0,0 @@
-package el_test
-
-import (
-	"errors"
-	"testing"
-
-	g "github.com/maragudk/gomponents"
-	"github.com/maragudk/gomponents/assert"
-	"github.com/maragudk/gomponents/el"
-)
-
-type erroringWriter struct{}
-
-func (w *erroringWriter) Write(p []byte) (n int, err error) {
-	return 0, errors.New("don't want to write")
-}
-
-func TestDocument(t *testing.T) {
-	t.Run("returns doctype and children", func(t *testing.T) {
-		assert.Equal(t, `<!doctype html><html></html>`, el.Document(g.El("html")))
-	})
-
-	t.Run("errors on write error in Render", func(t *testing.T) {
-		err := el.Document(g.El("html")).Render(&erroringWriter{})
-		assert.Error(t, err)
-	})
-}
-
-func TestForm(t *testing.T) {
-	t.Run("returns a form element with action and method attributes", func(t *testing.T) {
-		assert.Equal(t, `<form action="/" method="post"></form>`, el.Form("/", "post"))
-	})
-}
-
-func TestInput(t *testing.T) {
-	t.Run("returns an input element with attributes type and name", func(t *testing.T) {
-		assert.Equal(t, `<input type="text" name="hat">`, el.Input("text", "hat"))
-	})
-}
-
-func TestLabel(t *testing.T) {
-	t.Run("returns a label element with attribute for", func(t *testing.T) {
-		assert.Equal(t, `<label for="hat">Hat</label>`, el.Label("hat", g.Text("Hat")))
-	})
-}
-
-func TestOption(t *testing.T) {
-	t.Run("returns an option element with attribute label and content", func(t *testing.T) {
-		assert.Equal(t, `<option value="hat">Hat</option>`, el.Option("Hat", "hat"))
-	})
-}
-
-func TestProgress(t *testing.T) {
-	t.Run("returns a progress element with attributes value and max", func(t *testing.T) {
-		assert.Equal(t, `<progress value="5.5" max="10"></progress>`, el.Progress(5.5, 10))
-	})
-}
-
-func TestSelect(t *testing.T) {
-	t.Run("returns a select element with attribute name", func(t *testing.T) {
-		assert.Equal(t, `<select name="hat"><option value="partyhat">Partyhat</option></select>`,
-			el.Select("hat", el.Option("Partyhat", "partyhat")))
-	})
-}
-
-func TestTextarea(t *testing.T) {
-	t.Run("returns a textarea element with attribute name", func(t *testing.T) {
-		assert.Equal(t, `<textarea name="hat"></textarea>`, el.Textarea("hat"))
-	})
-}
-
-func TestA(t *testing.T) {
-	t.Run("returns an a element with a href attribute", func(t *testing.T) {
-		assert.Equal(t, `<a href="#">hat</a>`, el.A("#", g.Text("hat")))
-	})
-}
-
-func TestImg(t *testing.T) {
-	t.Run("returns an img element with href and alt attributes", func(t *testing.T) {
-		assert.Equal(t, `<img src="hat.png" alt="hat" id="image">`, el.Img("hat.png", "hat", g.Attr("id", "image")))
-	})
-}
diff --git a/el/simple.go b/el/simple.go
deleted file mode 100644
index 1ebf33f..0000000
--- a/el/simple.go
+++ /dev/null
@@ -1,257 +0,0 @@
-package el
-
-import (
-	g "github.com/maragudk/gomponents"
-)
-
-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 Style(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...)
-}
diff --git a/el/simple_test.go b/el/simple_test.go
deleted file mode 100644
index 2621982..0000000
--- a/el/simple_test.go
+++ /dev/null
@@ -1,97 +0,0 @@
-package el_test
-
-import (
-	"fmt"
-	"testing"
-
-	g "github.com/maragudk/gomponents"
-	"github.com/maragudk/gomponents/assert"
-	"github.com/maragudk/gomponents/el"
-)
-
-func TestSimpleElements(t *testing.T) {
-	cases := map[string]func(...g.Node) g.NodeFunc{
-		"address":    el.Address,
-		"article":    el.Article,
-		"aside":      el.Aside,
-		"audio":      el.Audio,
-		"blockquote": el.BlockQuote,
-		"body":       el.Body,
-		"button":     el.Button,
-		"canvas":     el.Canvas,
-		"cite":       el.Cite,
-		"code":       el.Code,
-		"colgroup":   el.ColGroup,
-		"data":       el.Data,
-		"datalist":   el.DataList,
-		"details":    el.Details,
-		"dialog":     el.Dialog,
-		"div":        el.Div,
-		"dl":         el.Dl,
-		"fieldset":   el.FieldSet,
-		"figure":     el.Figure,
-		"footer":     el.Footer,
-		"head":       el.Head,
-		"header":     el.Header,
-		"hgroup":     el.HGroup,
-		"html":       el.HTML,
-		"iframe":     el.IFrame,
-		"legend":     el.Legend,
-		"li":         el.Li,
-		"main":       el.Main,
-		"menu":       el.Menu,
-		"meter":      el.Meter,
-		"nav":        el.Nav,
-		"noscript":   el.NoScript,
-		"object":     el.Object,
-		"ol":         el.Ol,
-		"optgroup":   el.OptGroup,
-		"p":          el.P,
-		"picture":    el.Picture,
-		"pre":        el.Pre,
-		"script":     el.Script,
-		"section":    el.Section,
-		"span":       el.Span,
-		"style":      el.Style,
-		"summary":    el.Summary,
-		"svg":        el.SVG,
-		"table":      el.Table,
-		"tbody":      el.TBody,
-		"td":         el.Td,
-		"tfoot":      el.TFoot,
-		"th":         el.Th,
-		"thead":      el.THead,
-		"tr":         el.Tr,
-		"ul":         el.Ul,
-	}
-
-	for name, fn := range cases {
-		t.Run(fmt.Sprintf("should output %v", name), func(t *testing.T) {
-			n := fn(g.Attr("id", "hat"))
-			assert.Equal(t, fmt.Sprintf(`<%v id="hat"></%v>`, name, name), n)
-		})
-	}
-}
-
-func TestSimpleVoidKindElements(t *testing.T) {
-	cases := map[string]func(...g.Node) g.NodeFunc{
-		"area":   el.Area,
-		"base":   el.Base,
-		"br":     el.Br,
-		"col":    el.Col,
-		"embed":  el.Embed,
-		"hr":     el.Hr,
-		"link":   el.Link,
-		"meta":   el.Meta,
-		"param":  el.Param,
-		"source": el.Source,
-		"wbr":    el.Wbr,
-	}
-
-	for name, fn := range cases {
-		t.Run(fmt.Sprintf("should output %v", name), func(t *testing.T) {
-			n := fn(g.Attr("id", "hat"))
-			assert.Equal(t, fmt.Sprintf(`<%v id="hat">`, name), n)
-		})
-	}
-}
diff --git a/el/text.go b/el/text.go
deleted file mode 100644
index 6ab88db..0000000
--- a/el/text.go
+++ /dev/null
@@ -1,131 +0,0 @@
-package el
-
-import (
-	g "github.com/maragudk/gomponents"
-)
-
-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 Title(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))
-}
diff --git a/el/text_test.go b/el/text_test.go
deleted file mode 100644
index a751e19..0000000
--- a/el/text_test.go
+++ /dev/null
@@ -1,52 +0,0 @@
-package el_test
-
-import (
-	"fmt"
-	"testing"
-
-	g "github.com/maragudk/gomponents"
-	"github.com/maragudk/gomponents/assert"
-	"github.com/maragudk/gomponents/el"
-)
-
-func TestTextElements(t *testing.T) {
-	cases := map[string]func(string, ...g.Node) g.NodeFunc{
-		"abbr":       el.Abbr,
-		"b":          el.B,
-		"caption":    el.Caption,
-		"dd":         el.Dd,
-		"del":        el.Del,
-		"dfn":        el.Dfn,
-		"dt":         el.Dt,
-		"em":         el.Em,
-		"figcaption": el.FigCaption,
-		"h1":         el.H1,
-		"h2":         el.H2,
-		"h3":         el.H3,
-		"h4":         el.H4,
-		"h5":         el.H5,
-		"h6":         el.H6,
-		"i":          el.I,
-		"ins":        el.Ins,
-		"kbd":        el.Kbd,
-		"mark":       el.Mark,
-		"q":          el.Q,
-		"s":          el.S,
-		"samp":       el.Samp,
-		"small":      el.Small,
-		"strong":     el.Strong,
-		"sub":        el.Sub,
-		"sup":        el.Sup,
-		"time":       el.Time,
-		"title":      el.Title,
-		"u":          el.U,
-		"var":        el.Var,
-	}
-
-	for name, fn := range cases {
-		t.Run(fmt.Sprintf("should output %v", name), func(t *testing.T) {
-			n := fn("hat", g.Attr("id", "hat"))
-			assert.Equal(t, fmt.Sprintf(`<%v id="hat">hat</%v>`, name, name), n)
-		})
-	}
-}