package markdown import ( "io/ioutil" "text/template" ) func setDefaultTemplate(filename string) *template.Template { buf, err := ioutil.ReadFile(filename) if err != nil { return nil } return template.Must(GetDefaultTemplate().Parse(string(buf))) } func SetTemplate(t *template.Template, name, filename string) error { // Read template buf, err := ioutil.ReadFile(filename) if err != nil { return err } // Update if exists if tt := t.Lookup(name); tt != nil { _, err = tt.Parse(string(buf)) return err } // Allocate new name if not _, err = t.New(name).Parse(string(buf)) return err } func GetDefaultTemplate() *template.Template { return template.Must(template.New("").Parse(defaultTemplate)) } const ( defaultTemplate = ` {{.Doc.title}} {{range .Styles}} {{end -}} {{range .Scripts}} {{end -}} {{.Doc.body}} ` )