-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathtpl.go
More file actions
46 lines (39 loc) · 731 Bytes
/
tpl.go
File metadata and controls
46 lines (39 loc) · 731 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package main
import (
"io/ioutil"
"log"
"os"
"strings"
"text/template"
)
type Environment map[string]string
func check(e error) {
if e != nil {
panic(e)
}
}
func parseEnvironment(environ []string) Environment {
env := make(Environment)
if len(environ) == 0 {
return env
}
for _, e := range environ {
kv := strings.Split(e, "=")
env[kv[0]] = kv[1]
}
return env
}
func main() {
buf, err := ioutil.ReadFile(os.Args[1])
if err != nil {
log.Fatalf("reading file: %s", err)
}
tpl, err := template.New("titleTest").Funcs(newFuncMap()).Parse(string(buf))
if err != nil {
log.Fatalf("parsing: %s", err)
}
err = tpl.Execute(os.Stdout, parseEnvironment(os.Environ()))
if err != nil {
panic(err)
}
}