tmpl

tmpl allows to apply variables from JSON/TOML/YAML files,
environment variables or CLI arguments to template files using Golang
text/template and functions from the Sprig project.

Project status

This project is in a very early stage. Things might break !

Usage

For simplicity, everything is output on stdout. To write the result in a
file, use shell redirection.

If a variable is not found and the strict mode is disabled (default disabled),
each missing value will be replaced with an empty string.

  • Print help/usage message.

# $ tmpl
# $ tmpl -h
$ tmpl --help
USAGE: tmpl [OPTIONS] INPUT

INPUT is a template file or '-' for stdin

OPTIONS:
  -e    load variables from environment (default true)
  -f value
        load variables from JSON/TOML/YAML files (format: file path)
  -s    exit on any error during template processing (default false)
  -v value
        use one or more variables from the command line (format: name=value)
  • stdin and environment variables.

$ echo "Editor = {{ .Env.EDITOR }}, Shell = {{ .Env.SHELL }}" | tmpl -
Editor = nvim, Shell = /bin/bash
  • stdin and CLI variables.

$ echo "Hello, {{ .foo }} !" | tmpl -v foo=bar -
Hello, bar !
  • Sample from this repository

Output is not pasted here because of its length.

$ tmpl -f ./stores/data.yaml ./inputs/sample.txt.tmpl

Configuration

No configuration needed. Everything is done on the command line.

GitHub

View Github