func Include(filename string, args ...interface{}) (string, error) { path, err := sigil.LookPath(filename) if err != nil { return "", err } data, err := ioutil.ReadFile(path) if err != nil { return "", err } sigil.PushPath(filepath.Dir(path)) defer sigil.PopPath() render, err := render(data, args, filepath.Base(path)) return render.String(), err }
func template() ([]byte, string, error) { if *filename != "" { data, err := ioutil.ReadFile(*filename) if err != nil { return []byte{}, "", err } sigil.PushPath(filepath.Dir(*filename)) return data, filepath.Base(*filename), nil } if *inline != "" { return []byte(*inline), "<inline>", nil } data, err := ioutil.ReadAll(os.Stdin) if err != nil { return []byte{}, "", err } return data, "<stdin>", nil }