htmgo - build simple and scalable systems with go + htmx
| .github/workflows | ||
| cli/htmgo | ||
| examples | ||
| framework | ||
| framework-ui | ||
| htmgo-site | ||
| templates/starter | ||
| tools | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| tailwind-lsp-config.json | ||
Warning
htmgo is in alpha release. Please report any issues on GitHub.
htmgo
build simple and scalable systems with go + htmx
introduction:
htmgo is a lightweight pure go way to build interactive websites / web applications using go & htmx.
By combining the speed & simplicity of go + hypermedia attributes (htmx) to add interactivity to websites, all conveniently wrapped in pure go, you can build simple, fast, interactive websites without touching javascript. All compiled to a single deployable binary.
func IndexPage(ctx *h.RequestContext) *h.Page {
now := time.Now()
return h.NewPage(
h.Div(
h.Class("flex gap-2"),
h.TextF("the current time is %s", now.String())
)
)
}
core features:
- deployable single binary
- live reload (rebuilds css, go, ent schema, and routes upon change)
- automatic page and partial registration based on file path
- built in tailwindcss support, no need to configure anything by default
- plugin architecture to include optional plugins to streamline development, such as http://entgo.io
- custom htmx extensions to reduce boilerplate with common tasks
get started:
View documentation on htmgo.dev.