用Jinja2模板构建文件的方法
sact.recipe.jinjatemplate的Python项目详细描述
一个用于使用jinja2模板生成文件的构建方法。它是一个友好的分支
amplecode.recipe.template(不再维护)。
buildout options
===
*模板文件(必需):一个或多个jinja2模板文件路径。
*目标文件(必需):多个目标文件路径之一。文件数必须与模板文件数匹配。
*base dir:jinja2环境的基本目录。模板文件路径与此目录相关。默认为构建目录。
*目标可执行文件:一个或多个指示目标文件可执行性的布尔标志(yes no true false 1 0)。如果只给定一个标志,则它将应用于所有目标文件。
*eggs:为eggs列表保留,在指定时方便地转换为pkg_resources.workingset。
其他选项将简单地转发到模板,所有其他部分的选项都通过“parts”提供。<;part name>;<;option name>;``以及``parts[<;part name>;][<;option name>;]```.
配方选项仍然可以包含一个或多个值,用空格分隔:
/bin/sh
{%for cmd in cmds.split()%}
echo{{{{cmd}}
{%endfor%}
最起码的例子
=====
foo.txt是从foo.txt.jinja2.jinja2.jinja2.jinja2.foo.txt从foo.txt.txt.jinja2.jinja2.jinja2.txt中创建的,没有任何额外的选项:<<<
{%foo
模板文件=foo.txt.jinja2
target file=foo.txt
两个模板都可以使用指定的附加选项:
[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
templating shell脚本
=========
/bin/sh
rm-rf--{path{shell_quote}
version 1.3(2015-07-07)
-
*添加了jinja函数以生成随机字符串
version 1.2.1(2015-01-27)
-
*修复打包信息
version 1.2(2015-01-23)
——
*更新测试
*在环境全局中添加“类型”内置项
*更新文档
version 1.1(2015-01-21)
——
*更新bootstrap.py.
*添加一个“shell-quote”jinja筛选器。
*清除代码。
*python3符合性(似乎使用3.4可以很好地工作。
*在模板中添加一些python内置项,如(any、all、bool、zip、sorted、len、int、min、max)。
*添加更多测试。
1.0版(2013-11-27)
-
*初始版本
amplecode.recipe.template(不再维护)。
buildout options
===
*模板文件(必需):一个或多个jinja2模板文件路径。
*目标文件(必需):多个目标文件路径之一。文件数必须与模板文件数匹配。
*base dir:jinja2环境的基本目录。模板文件路径与此目录相关。默认为构建目录。
*目标可执行文件:一个或多个指示目标文件可执行性的布尔标志(yes no true false 1 0)。如果只给定一个标志,则它将应用于所有目标文件。
*eggs:为eggs列表保留,在指定时方便地转换为pkg_resources.workingset。
其他选项将简单地转发到模板,所有其他部分的选项都通过“parts”提供。<;part name>;<;option name>;``以及``parts[<;part name>;][<;option name>;]```.
配方选项仍然可以包含一个或多个值,用空格分隔:
/bin/sh
{%for cmd in cmds.split()%}
echo{{{{cmd}}
{%endfor%}
最起码的例子
=====
foo.txt是从foo.txt.jinja2.jinja2.jinja2.jinja2.foo.txt从foo.txt.txt.jinja2.jinja2.jinja2.txt中创建的,没有任何额外的选项:<<<
{%foo
模板文件=foo.txt.jinja2
target file=foo.txt
两个模板都可以使用指定的附加选项:
[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
templating shell脚本
=========
/bin/sh
rm-rf--{path{shell_quote}
version 1.3(2015-07-07)
-
*添加了jinja函数以生成随机字符串
version 1.2.1(2015-01-27)
-
*修复打包信息
version 1.2(2015-01-23)
——
*更新测试
*在环境全局中添加“类型”内置项
*更新文档
version 1.1(2015-01-21)
——
*更新bootstrap.py.
*添加一个“shell-quote”jinja筛选器。
*清除代码。
*python3符合性(似乎使用3.4可以很好地工作。
*在模板中添加一些python内置项,如(any、all、bool、zip、sorted、len、int、min、max)。
*添加更多测试。
1.0版(2013-11-27)
-
*初始版本