github.com/JarrahG/buffalocli@v0.0.0-20230801092127-b85bfd5d395a/internal/genny/actions/build_templates.go (about)

     1  package actions
     2  
     3  import (
     4  	"fmt"
     5  	"io/fs"
     6  
     7  	"github.com/gobuffalo/genny/v2"
     8  )
     9  
    10  func buildTemplates(pres *presenter) genny.RunFn {
    11  	return func(r *genny.Runner) error {
    12  		sub, err := fs.Sub(templates, "templates")
    13  		if err != nil {
    14  			return err
    15  		}
    16  
    17  		f, err := fs.ReadFile(sub, "view.plush.html.tmpl")
    18  		if err != nil {
    19  			return err
    20  		}
    21  		for _, a := range pres.Actions {
    22  			pres.Data["action"] = a
    23  			fn := fmt.Sprintf("templates/%s/%s.plush.html.tmpl", pres.Name.Folder(), a.File())
    24  			xf := genny.NewFileB(fn, f)
    25  			xf, err = transform(pres, xf)
    26  			if err != nil {
    27  				return err
    28  			}
    29  			if err := r.File(xf); err != nil {
    30  				return err
    31  			}
    32  		}
    33  		return nil
    34  	}
    35  }