github.com/bingoohuang/gg@v0.0.0-20240325092523-45da7dee9335/pkg/emb/ui.go (about) 1 package emb 2 3 import ( 4 "embed" 5 "fmt" 6 "io/fs" 7 "strings" 8 "text/template" 9 ) 10 11 func ParseUI(web embed.FS, subName string, funcs template.FuncMap, asTemplate bool) (sub fs.FS, t *template.Template, err error) { 12 sub = web 13 subName = strings.Trim(subName, "/") 14 if subName != "" { 15 if sub, err = fs.Sub(web, subName); err != nil { 16 err = fmt.Errorf("sub %s: %w", subName, err) 17 return 18 } 19 } 20 21 if asTemplate { 22 t, err = template.New("").Funcs(funcs).ParseFS(sub, "*.html") 23 if err != nil { 24 err = fmt.Errorf("parse web template: %w", err) 25 } 26 } 27 28 return 29 }