在文档中阅读文档。 gomplate .ca,在Gophers Slack gomplate与开发人员和社区聊天
gomplate是一个模板渲染器,它支持越来越多的数据源列表,例如:JSON(包括Ejson-加密JSON ),YAML,AWS EC2 Metadata,Hashicorp Consul和Hashicorp Vault Pault Secrets。
在Gophers Slack和Github讨论中与gomplate频道中的开发人员和社区聊天!
以下是一些gomplate的示例:
gomplate can be used with environment variables…
$ echo \’Hello, {{ .Env.USER }}\’ | gomplate
Hello, hairyhenderson
$ # but that\’s kind of boring. gomplate has tons of functions to do useful stuff, too
$ gomplate -i \’the answer is: {{ mul 6 7 }}\’
the answer is: 42
$ # and, since gomplate uses Go\’s templating syntax, you can do fun things like:
$ gomplate -i \'{{ range seq 5 1 }}{{ . }} {{ if eq . 1 }}{{ \”blastoff\” | toUpper }}{{ end }}{{ end }}\’
5 4 3 2 1 BLASTOFF
$ # the real fun comes when you use datasources!
$ cat ./config.yaml
foo:
bar:
baz: qux
$ gomplate -d config=./config.yaml -i \’the value we want is: {{ (datasource \”config\”).foo.bar.baz }}\’
the value we want is: qux
$ # datasources are defined by URLs, and gomplate is not limited to just file-based datasources:
$ gomplate -d ip=https://ipi*nfo*.*io -i \’country code: {{ (ds \”ip\”).country }}\’
country code: CA
$ # standard input can be used as a datasource too:
$ echo \'{\”cities\”:[\”London\”, \”Johannesburg\”, \”Windhoek\”]}\’ | gomplate -d city=stdin:///in.json -i \'{{ range (ds \”city\”).cities }}{{.}}, {{end}}\’
London, Johannesburg, Windhoek,
$ # and here\’s something a little more complicated:
$ export CITIES=\’city: [London, Johannesburg, Windhoek]\’
$ cat in.tmpl
{{ range $i, $city := (ds \”cities\”).city -}}
{{ add 1 $i }}: {{ include \”weather\” (print $city \”?0\”) }}
{{ end }}
$ gomplate -d \’cities=env:///CITIES?type=application/yaml\’ -d \’weather=https://*wt*tr.in*/?0\’ -H \’weather=User-Agent: curl\’ -f in.tmpl
1: Weather report: London
\\ / Partly cloudy
_ /\”\”.-. 4-7 °C
\\_( ). ↑ 20 km/h
/(___(__) 10 km
0.0 mm
2: Weather report: Johannesburg
\\ / Partly cloudy
_ /\”\”.-. 15 °C
\\_( ). ↘ 0 km/h
/(___(__) 10 km
2.2 mm
3: Weather report: Windhoek
\\ / Partly cloudy
_ /\”\”.-. 20 °C
\\_( ). ↑ 6 km/h
/(___(__) 20 km
0.0 mm\”>
$ # at its most basic, gomplate can be used with environment variables... $ echo \' Hello, {{ .Env.USER }} \' | gomplate Hello, hairyhenderson $ # but that\'s kind of boring. gomplate has tons of functions to do useful stuff, too $ gomplate -i \' the answer is: {{ mul 6 7 }} \' the answer is: 42 $ # and, since gomplate uses Go\'s templating syntax, you can do fun things like: $ gomplate -i \' {{ range seq 5 1 }}{{ . }} {{ if eq . 1 }}{{ \"blastoff\" | toUpper }}{{ end }}{{ end }} \' 5 4 3 2 1 BLASTOFF $ # the real fun comes when you use datasources! $ cat ./config.yaml foo: bar: baz: qux $ gomplate -d config=./config.yaml -i \' the value we want is: {{ (datasource \"config\").foo.bar.baz }} \' the value we want is: qux $ # datasources are defined by URLs, and gomplate is not limited to just file-based datasources: $ gomplate -d ip=https://ipi*nfo*.*io -i \' country code: {{ (ds \"ip\").country }} \' country code: CA $ # standard input can be used as a datasource too: $ echo \' {\"cities\":[\"London\", \"Johannesburg\", \"Windhoek\"]} \' | gomplate -d city=stdin:///in.json -i \' {{ range (ds \"city\").cities }}{{.}}, {{end}} \' London, Johannesburg, Windhoek, $ # and here\'s something a little more complicated: $ export CITIES= \' city: [London, Johannesburg, Windhoek] \' $ cat in.tmpl {{ range $i, $city := (ds \"cities\").city -}} {{ add 1 $i }}: {{ include \"weather\" (print $city \"?0\") }} {{ end }} $ gomplate -d \' cities=env:///CITIES?type=application/yaml \' -d \' weather=https://wttr.*in/**?0 \' -H \' weather=User-Agent: curl \' -f in.tmpl 1: Weather report: London \\ / Partly cloudy _ /\"\".-. 4-7 °C \\_( ). ↑ 20 km/h /(___(__) 10 km 0.0 mm 2: Weather report: Johannesburg \\ / Partly cloudy _ /\"\".-. 15 °C \\_( ). ↘ 0 km/h /(___(__) 10 km 2.2 mm 3: Weather report: Windhoek \\ / Partly cloudy _ /\"\".-. 20 °C \\_( ). ↑ 6 km/h /(___(__) 20 km 0.0 mm
在文档中阅读文档。 gomplate .CA,并在Github讨论中加入讨论!
请报告问题跟踪器中发现的任何错误。
执照
麻省理工学院许可证
版权(C)2016-2023 Dave Henderson
