package main import ( "context" "embed" "io/fs" "net/http" "go.sour.is/pkg/lg" "go.sour.is/pkg/service" ) var _ = apps.Register(10, func(ctx context.Context, svc *service.Harness) error { _, span := lg.Span(ctx) defer span.End() svc.Add(&favicon{}) return nil }) //go:embed favicon/* var faviconAsset embed.FS type favicon struct{} func (favicon) RegisterHTTP(mux *http.ServeMux) { dir, _ := fs.Sub(faviconAsset, "favicon") srv := http.FileServer(http.FS(dir)) mux.Handle("/favicon.ico", srv) mux.Handle("/favicon.txt", srv) mux.Handle("/favicon-16x16.png", srv) mux.Handle("/favicon-32x32.png", srv) mux.Handle("/android-chrome-192x192.png", srv) mux.Handle("/android-chrome-512x512.png", srv) mux.Handle("/apple-touch-icon.png", srv) mux.Handle("/site.webmanifest", srv) }