Warning
htmgo is in alpha release and active development. API's may have breaking changes between versions. Please report any issues on GitHub.
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.