Static site generator for making web mixtapes in 2020.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
658 B

  1. package cdr
  2. import (
  3. "html/template"
  4. "io"
  5. "io/ioutil"
  6. "log"
  7. )
  8. func Render(m *Mixtape, w io.Writer) error {
  9. mixtapeRawTmpl, err := ioutil.ReadFile("mixtape.tmpl")
  10. if err != nil {
  11. log.Print("Unable to load custom mixtape.tmpl; falling back to default")
  12. mixtapeRawTmpl = defaultMixtapeTmpl
  13. } else {
  14. log.Print("Generating from local mixtape.tmpl")
  15. }
  16. t, err := template.New("mixtape").Parse(string(mixtapeRawTmpl) + string(partsRawTmpl))
  17. if err != nil {
  18. log.Printf("[ERROR] Unable to parse: %v", err)
  19. return err
  20. }
  21. err = t.ExecuteTemplate(w, "mixtape", m)
  22. if err != nil {
  23. log.Printf("[ERROR] Unable to render: %v", err)
  24. }
  25. return nil
  26. }