htmgo/htmgo-site/main.go

42 lines
877 B
Go
Raw Normal View History

2024-09-20 16:45:23 +00:00
package main
import (
"github.com/maddalax/htmgo/framework/h"
"github.com/maddalax/htmgo/framework/service"
"htmgo-site/__htmgo"
2024-09-20 16:45:23 +00:00
"htmgo-site/internal/markdown"
2024-09-20 18:25:14 +00:00
"io/fs"
"net/http"
2024-09-20 16:45:23 +00:00
)
func main() {
locator := service.NewLocator()
staticAssets := GetStaticAssets()
markdownAssets := GetMarkdownAssets()
2024-09-20 16:45:23 +00:00
service.Set(locator, service.Singleton, markdown.NewRenderer)
h.Start(h.AppOpts{
ServiceLocator: locator,
LiveReload: true,
Register: func(app *h.App) {
app.UseWithContext(func(w http.ResponseWriter, r *http.Request, context map[string]any) {
context["embeddedMarkdown"] = markdownAssets
})
sub, err := fs.Sub(staticAssets, "assets/dist")
if err != nil {
panic(err)
}
2024-09-20 18:25:14 +00:00
http.FileServerFS(sub)
app.Router.Handle("/public/*", http.StripPrefix("/public", http.FileServerFS(sub)))
2024-09-20 18:25:14 +00:00
__htmgo.Register(app.Router)
2024-09-20 16:45:23 +00:00
},
})
}