github.com/segakazzz/buffalo@v0.16.22-0.20210119082501-1f52048d3feb/genny/assets/standard/standard.go (about)

     1  package standard
     2  
     3  import (
     4  	"strings"
     5  	"text/template"
     6  
     7  	"github.com/gobuffalo/genny/v2"
     8  	"github.com/gobuffalo/genny/v2/gogen"
     9  	"github.com/gobuffalo/packr/v2"
    10  )
    11  
    12  // New generator for creating basic asset files
    13  func New(opts *Options) (*genny.Generator, error) {
    14  	g := genny.New()
    15  	g.Box(packr.New("buffalo:genny:assets:standard", "../standard/templates"))
    16  
    17  	data := map[string]interface{}{}
    18  	h := template.FuncMap{}
    19  	t := gogen.TemplateTransformer(data, h)
    20  	g.Transformer(t)
    21  
    22  	g.RunFn(func(r *genny.Runner) error {
    23  		f, err := r.FindFile("templates/application.plush.html")
    24  		if err != nil {
    25  			return err
    26  		}
    27  
    28  		s := strings.Replace(f.String(), "</title>", "</title>\n"+bs4, 1)
    29  		return r.File(genny.NewFileS(f.Name(), s))
    30  	})
    31  
    32  	return g, nil
    33  }
    34  
    35  const bs4 = `<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">`