//go:generate inline -o templates.go -p cdr mixtape.tmpl templates/parts.tmpl package cdr import ( "html/template" "io" "io/ioutil" "log" ) func Render(m *Mixtape, w io.Writer) error { partsRawTmpl, err := ReadAsset("templates/parts.tmpl", false) if err != nil { return err } mixtapeRawTmpl, err := ioutil.ReadFile("mixtape.tmpl") if err != nil { log.Print("Unable to load local mixtape.tmpl; falling back to default") mixtapeRawTmpl, err = ReadAsset("mixtape.tmpl", false) if err != nil { return err } } else { log.Print("Generating from local mixtape.tmpl") } t, err := template.New("mixtape").Parse(string(mixtapeRawTmpl) + string(partsRawTmpl)) if err != nil { log.Printf("[ERROR] Unable to parse: %v", err) return err } err = t.ExecuteTemplate(w, "mixtape", m) if err != nil { log.Printf("[ERROR] Unable to render: %v", err) } return nil }