A CLI tool for rendering Jinja-esque templates using the Tera template engine.
USAGE:
jinjer [FLAGS] <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
-v Logging verbosity. By default, it is set to ERROR, pass -v multiple times to increase verbosity.
SUBCOMMANDS:
facts Dump all detected facts to standard output. Useful for understanding which facts are available at
runtime.
help Prints this message or the help of the given subcommand(s)
render Render one or more templates to standard output or a file.
jinjer
exposes two subcommands at present:
facts
: dumps available system facts to standard output in JSON format.render
: renders either standard input or a list of template files in order, either to standard output or to a specified output file.
USAGE:
jinjer facts
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
Executing jinjer facts
will simply dump a JSON dictionary of all facts discovered by jinjer
at runtime. Use this
command to preview which facts will be available during template rendering.
USAGE:
jinjer render [FLAGS] [OPTIONS] [template_files]...
FLAGS:
-e, --auto-escape Enable HTML auto-escaping of templates in the template renderer. By default, output is not safe
for HTML.
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-o, --output <output_file> Render output to a file rather than to standard output.
ARGS:
<template_files>... A list of template files to render in order.
Use jinjer render
to render templates. If no template files are passed, jinjer
will attempt to read a template from
standard input. By default, rendering is done to standard output, use -o|--output
to send rendering output to a
file on the filesystem.
Template output is unsanitized by default. If rendering HTML-safe output is required, pass -e|--auto-escape
to
attempt to render output safely for HTML.
jinjer
has a fact plugin system for facts at runtime. Presently, there are two plugins:
"basic"
: basic system facts such as CPU count."env"
: environment variables.
Ultimately, it would be easy and straightforward to add support for systems like facter
and perhaps Ansible to
leverage these as fact providers. Contributions welcome. 👋
Licensed at your discretion under either: