123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package main
- import (
- "bytes"
- "fmt"
- "io/ioutil"
- "os"
- "text/template"
- "github.com/Masterminds/sprig/v3"
- )
- func main() {
- templateFile := os.Args[1]
- src := os.Args[2]
- output := os.Args[3]
- b, err := ioutil.ReadFile(templateFile)
- if err != nil {
- panic(err)
- }
- b2, err := ioutil.ReadFile(src)
- if err != nil {
- panic(err)
- }
- templated, err := TemplatedString(fmt.Sprintf("%s\n%s", string(b), string(b2)), nil)
- if err != nil {
- panic(err)
- }
- err = ioutil.WriteFile(output, []byte(templated), os.ModePerm)
- if err != nil {
- panic(err)
- }
- }
- func TemplatedString(t string, i interface{}) (string, error) {
- b := bytes.NewBuffer([]byte{})
- tmpl, err := template.New("template").Funcs(sprig.TxtFuncMap()).Parse(t)
- if err != nil {
- return "", err
- }
- err = tmpl.Execute(b, i)
- return b.String(), err
- }
|