hatmill - HTML generation DSL for Go
=====================================
[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://gitlab.codemonkeysoftware.net/b/hatmill/blob/master/COPYING)
[![Gitlab pipeline status](https://gitlab.codemonkeysoftware.net/b/hatmill/badges/master/pipeline.svg)](https://gitlab.codemonkeysoftware.net/b/hatmill/commits/master)
[![Go Report Card](https://goreportcard.com/badge/gitlab.codemonkeysoftware.net/b/hatmill)](https://goreportcard.com/report/gitlab.codemonkeysoftware.net/b/hatmill)
[![GoDoc](https://godoc.org/gitlab.codemonkeysoftware.net/b/hatmill?status.svg)](https://godoc.org/gitlab.codemonkeysoftware.net/b/hatmill)
![Badge count](https://img.shields.io/badge/badges-5-yellow.svg)
Installation
---------------
There are three necessary packages:
- `gitlab.codemonkeysoftware.net/b/hatmill`
- `gitlab.codemonkeysoftware.net/b/hatmill/attribute`
- `gitlab.codemonkeysoftware.net/b/hatmill/element`
Install them as you would any other Go package, with `go get` or whatever.
`gitlab.codemonkeysoftware.net/b/hatmill` is a Go module and so will play nicely
with Go ≥ 1.11.
Usage
------
Basic types are in `gitlab.codemonkeysoftware.net/b/hatmill`. The `attribute`
and `element` subpackages contain helper functions for HTML5 attributes and
elements. See the `Example` function in `hatmill_test.go`.
Hacking
--------
If there is a missing attribute or element helper function, describe it in
`defs.json` and run `go generate` in the repository root. If you can't figure
out what you need to know by reading `defs.json`, `internal/codegen/*`,
`attribute/*`, and `element/*`, then
[pester me](https://gitlab.codemonkeysoftware.net/b/hatmill/issues/new) to
improve the documentation.