Bash-TPL lets you mark up textual files (config files, yaml, xml, scripts, html, etc.) with shell commands and variable replacements, while minimally impacting your original file layout.
Templates are compiled into shell scripts that you can invoke (along with variables, arguments, etc.) to generate complete and well-formatted output text files.
Bash-TPL is presented as a single-file Bash script, making it both easy to bring along with your projects, and even easier to use, since there is no need to compile any source code.
Creating readable, maintainable templates often requires adding extra whitespace (i.e. indenting lines within a for loop) in order to help distinguish your template tags from your textual content.
Bash-TPL detects ands removes these extra indentations, resulting in generated text files that look as good as if they were written by hand !
The key to success with Bash-TPL's indentation fix-up logic is Consistent Formatting - using consistent indentation throughout your templates will yield best results.