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