Buildout recipe for making files out of Jinja2 templates
Project description
=========================
sact.recipe.jinjatemplate
=========================
sact.recipe.jinjatemplate is a Buildout recipe for generating files using Jinja2 templates. It's a friendly fork of amplecode.recipe.template (not maintained).
Buildout Options
================
* template-file (required): One or more Jinja2 template file paths.
* target-file (required): One of more target file paths. The number of files must match the number of template files.
* base-dir: Base directory of the Jinja2 environment. Template file paths are relative to this directory. Default is the Buildout directory.
* target-executable: One or more boolean flags (yes|no|true|false|1|0) indicating the executability of the target files. If only one flag is given it is applied to all target files.
* eggs: Reserved for a list of eggs, conveniently converted into a pkg_resources.WorkingSet when specified.
Additional options are simply forwarded to the templates, and options from all the other parts are made available through ``parts.<part-name>.<option-name>`` and ``parts[<part-name>][<option-name>]``.
Lists of Values
===============
It is possible for a recipe option to contain one or more values, separated by whitespace. A split filter is available for when you want to iterate over the whitespace separated values in your Jinja2 template::
#!/bin/sh
{% for cmd in cmds|split %}
echo "{{ cmd }}"
{% endfor %}
Minimal Example
===============
foo.txt is created from foo.txt.jinja2 without any extra options::
[buildout]
parts = foo
[foo]
recipe = sact.recipe.jinjatemplate
template-file = foo.txt.jinja2
target-file = foo.txt
Larger Example
==============
foo.txt is created from myapp/foo.txt.jinja2, bar.sh is created from myapp/bar.sh.jinja2, the second will be executable, and both templates can utilize the additional options specified::
[buildout]
parts = foo
[foo]
recipe = sact.recipe.jinjatemplate
base-dir = myapp
template-file =
foo.txt.jinja2
bar.sh.jinja2
target-file =
foo.txt
bar.sh
target-executable =
false
true
project_name = Another Example
author = Me
Version 1.0 (2013-11-27)
------------------------
* Initial version
sact.recipe.jinjatemplate
=========================
sact.recipe.jinjatemplate is a Buildout recipe for generating files using Jinja2 templates. It's a friendly fork of amplecode.recipe.template (not maintained).
Buildout Options
================
* template-file (required): One or more Jinja2 template file paths.
* target-file (required): One of more target file paths. The number of files must match the number of template files.
* base-dir: Base directory of the Jinja2 environment. Template file paths are relative to this directory. Default is the Buildout directory.
* target-executable: One or more boolean flags (yes|no|true|false|1|0) indicating the executability of the target files. If only one flag is given it is applied to all target files.
* eggs: Reserved for a list of eggs, conveniently converted into a pkg_resources.WorkingSet when specified.
Additional options are simply forwarded to the templates, and options from all the other parts are made available through ``parts.<part-name>.<option-name>`` and ``parts[<part-name>][<option-name>]``.
Lists of Values
===============
It is possible for a recipe option to contain one or more values, separated by whitespace. A split filter is available for when you want to iterate over the whitespace separated values in your Jinja2 template::
#!/bin/sh
{% for cmd in cmds|split %}
echo "{{ cmd }}"
{% endfor %}
Minimal Example
===============
foo.txt is created from foo.txt.jinja2 without any extra options::
[buildout]
parts = foo
[foo]
recipe = sact.recipe.jinjatemplate
template-file = foo.txt.jinja2
target-file = foo.txt
Larger Example
==============
foo.txt is created from myapp/foo.txt.jinja2, bar.sh is created from myapp/bar.sh.jinja2, the second will be executable, and both templates can utilize the additional options specified::
[buildout]
parts = foo
[foo]
recipe = sact.recipe.jinjatemplate
base-dir = myapp
template-file =
foo.txt.jinja2
bar.sh.jinja2
target-file =
foo.txt
bar.sh
target-executable =
false
true
project_name = Another Example
author = Me
Version 1.0 (2013-11-27)
------------------------
* Initial version
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file sact.recipe.jinjatemplate-1.0.tar.gz
.
File metadata
- Download URL: sact.recipe.jinjatemplate-1.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1295794bfa1ba71217a3b2fb82506c0d4114dce8a76b45560abdb86da81f10d9 |
|
MD5 | ac27d8be506ca34d789b42cfb295e7b1 |
|
BLAKE2b-256 | 2f94b715039b75f0bf1083c0d0c28dfab6f287d5041d7837ecfa56ce56a973cd |