基于jina2的项目模板工具
tplate的Python项目详细描述
概述
tplate是一个基于jinja2的模板工具,用于创建项目模板或“初学者”。
要使用tplate,只需提供一个上下文文件,其中包含项目模板中占位符的值, 项目模板目录本身,以及所需的输出目录。下面是一个示例:
tplate template/dir output/dir --context=context.json
如果没有提供“--context”文件,将要求用户提供值。
安装
pip install tplate
项目模板
项目模板只是包含构成项目的文件和目录的目录。文件夹 它不以“.j2”结尾,只是简单地复制到输出目录。以“.j2”后缀结尾的文件将被处理 作为jinja2模板并通过jinja2呈现到输出目录中。对于“.j2”文件,输出目录中的文件名将是模板文件名减去“.j2”后缀。例如,readme.md.j2将被复制到 在输出目录中的readme.md。有关模板语言的详细信息,请参见Jinja2 template designer documentation。
模板目录可能包含名为tplate.json或tplate.yaml的文件,该文件包含所有变量 模板中引用的。此文件的目的是记录 模板并提供默认值。如果存在,则用户提供的上下文文件将与 项目提供的默认文件。
<>为了避免意外重写现有文件,如果有任何文件,TPAL将不做任何事情。 输出目录。这可以通过传递--update标志来覆盖在某些情况下,输出目录结构需要由变量确定。大多数
值得注意的是,java包名。为此,请添加名为tplate_directives.json.j2
的文件或
tplate_directives.yaml.j2
到类似于下面所示的项目模板。这将寻找
输出目录中名为“src/main/java/com/example”的目录,并将其重命名为“src/main/java/new/pacakge/name”。
[['java_package_rename','com.example','{{user_package_name|replace('.','/')}}']]
如果此文件是列表,则为结构。每个列表条目都是另一个列表,第一个参数是 指令的名称,其余参数是该指令的参数。请注意,在示例中 上面的{user{u package}是一个jinja2变量引用。它假设在运行时,一个名为 “user_package_name”将在“tplate.json”文件中提供。此文件最初将呈现为输出 使用户提供的信息可以合并的目录。然后,tplate将执行指令并 删除文件。
附加说明
- 将文件复制到输出目录时,tplate将忽略(而不是复制)文件和目录 以下名称:“.git”、“tplate.json”、“tplate.yaml”、“.ds\u store”
发行说明
1.1版
- 上下文文件不再需要在输出目录中。可以通过单独的参数或 交互地。
- 更新文件。
- 对包重命名的支持通过tplate_指令文件进行了更优雅的集成
1.0.3版
- 添加了“--update”标志以允许覆盖输出目录中的文件