Muxt is a Go code generator that helps you build server-side rendered web apps with minimal overhead, leveraging Go
1.22’s improved http.ServeMux
and standard html/template
features.
No extra runtime dependencies are required—just plain Go code.
- It allows you to register HTTP routes from HTML templates
- It generates handler functions and registers them on an
*http.ServeMux
- It generates code in handler functions to parse path parameters and form fields
- It generates a receiver interface to represent the boundary between your app code and HTTP/HTML
- Use this to mock out your server and test the view layer of your application
While, muxt
felt like a good name for this project since this is a code generator that extends the standard library
templates and http.ServeMux
, it is not easily searchable. So, I am considering renaming it to hyperhandler
or something like that.
{{define "GET / F()" -}}
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'/>
<title>Hello!</title>
</head>
<body>
<h1>Number {{.Result}}</h1>
</body>
</html>
{{- end}}
For a small runnable, see: ./example/index.gohtml
For larger complete examples, see: