1package present 2 3import ( 4 "errors" 5 "html/template" 6 "path/filepath" 7 "strings" 8) 9 10func init() { 11 Register("html", parseHTML) 12} 13 14func parseHTML(ctx *Context, fileName string, lineno int, text string) (Elem, error) { 15 p := strings.Fields(text) 16 if len(p) != 2 { 17 return nil, errors.New("invalid .html args") 18 } 19 name := filepath.Join(filepath.Dir(fileName), p[1]) 20 b, err := ctx.ReadFile(name) 21 if err != nil { 22 return nil, err 23 } 24 return HTML{template.HTML(b)}, nil 25} 26 27type HTML struct { 28 template.HTML 29} 30 31func (s HTML) TemplateName() string { return "html" } 32