Tera CLI

CI Status Crates.io License: MIT

Tera CLI for one-off template interpolation from context file / env vars.

The following context formats are supported:

Changelog

See CHANGELOG.md.

Simple Examples

TOML

Template template.tmpl

jinja {% if hello %}{{ msg }}{% endif %}

TOML .tera.toml

toml hello = true msg = "Hello World!"

STDOUT

```bash

tera -f template.tmpl --toml . Hello World!

cat template.tmpl | tera --toml . Hello World!

tera -s "$(cat template.tmpl)" --toml . Hello World! ```

Environment Variables

Template template.tmpl

jinja {% if MSG %}{{ MSG }}{% endif %}

STDOUT

```bash

MSG="Hello World!" tera -f template.tmpl --env Hello World! ```

By default, setting --toml . looks for .tera.toml context file in current working directory. Similarly, setting --json . looks for .tera.json in current working directory. Use --toml file_to_toml to change the path to the context file.

For more details, run

bash tera --help

Acknowledgement

Thanks to original Tera author, whose GitHub repository is at: https://github.com/Keats/tera.

Also thanks to BurntSushi and his ripgrep repository showcase of GitHub Actions for cross-compilation, which has been copied and adapted heavily into this repository. The original files are here: https://github.com/BurntSushi/ripgrep/tree/8905d54a9f25f4c1e4e3ca8331f517473e174d87/.github/workflows.