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.

30 lines
669 B

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