(图表)。

hecto的Python项目详细描述


NOTE: I'm thankful for any bug fix or report; They are more than welcome. However, I want to keep the scope of this project very small, so any other kind of pull-requests are discouraged.

Hecto(graph)

{a2}

一个小而简单的,用于呈现项目模板。在

  • 使用local路径和git url。在
  • 您的项目可以包含任何文件,Hecto可以动态替换任何类型文本文件中的值。在
  • 它生成一个漂亮的输出,并注意不要覆盖现有的文件,除非有人指示这样做。在

如何使用

pip install hecto
^{pr2}$

工作原理

项目模板中文件的内容将被复制到目标中,而不做任何更改,,除非后缀名为“.tmpl”。(您可以使用render_as设置进行自定义)。在这种情况下,模板引擎用于呈现它们。在

使用了一个稍微定制的Jinja2模板。主要区别是 变量是用[[ name ]]引用的,而不是 {{ name }}和块是{},而不是 {% if name %}。要了解有关模板的更多信息,请参阅Jinja2 documentation。在

使用data参数传递您想要的任何额外上下文 在模板中。参数可以是任何有效的Python值,甚至 功能。在

美国石油学会

收到()

hecto.copy(src_path,dst_path,data=DEFAULT_DATA,*,exclude=DEFAULT_EXCLUDE,include=[],skip_if_exists=[],envops={},render_as=DEFAULT_RENDER_AS,pretend=False,force=False,skip=False,quiet=False,)

使用src_path中的模板在dst_path生成一个新项目。在

参数

  • src_路径(str): 项目框架的绝对路径。可能是版本控制系统的URL。在

  • dst_路径(str): 渲染项目模板的绝对路径。在

  • data(dict): 可选。要传递到模板的数据。在

  • exclude(str列表): 可选。与文件或文件夹匹配的名称或shell样式模式的列表 不能复制。在

  • include(str列表): 可选。与必须包含的文件或文件夹匹配的名称或shell样式模式的列表,即使其名称与exclude列表匹配。例如:['.gitignore']。 默认为空列表。在

  • skip\u如果存在(str列表): 可选。跳过这些文件名或shell样式模式,而不询问目标文件夹中是否已经存在另一个同名的文件名或shell样式模式。 只有在复制到已存在的文件夹时才有意义。在

  • envops(dict): 可选。Jinja模板环境的额外选项。在

  • render\u as(函数): 一个可选的钩子,它将文件的绝对源路径和相对目标路径作为参数。在

    如果文件必须按原样复制或是新的相对目标(可以与接收到的目标相同)的Path对象,则它应该返回None。在

    默认情况下,所有带有.tmpl后缀的文件都将呈现并保存,而不使用该后缀。例如:readme.md.tmpl变成{}。在

  • get\u context(函数): 在呈现文件之前调用的可选钩子。以亲戚为例 文件的目标路径作为参数,并应返回字典 以及其呈现的上下文。在

  • 假装(bool): 可选。运行但不进行任何更改

  • force(bool): 可选。覆盖已经存在的文件,无需询问

  • skip(bool): 可选。跳过已经存在的文件,无需询问

  • quiet(bool): 可选。抑制状态输出

在海克托山药文件

如果在项目的根目录中找到一个名为hecto.yaml的YAML文件,那么它将被读取并用于参数默认值。在

注意,它们只是默认值,因此任何显式传递的参数都将覆盖它们。在

# Shell-style patterns files/folders that must not be copied.exclude:-"*.bar"-".git"-".git/*"# Shell-style patterns files/folders that *must be* copied, even if# they are in the exclude listinclude:-"foo.bar"# Shell-style patterns files to skip, without asking, if they already exists# in the destination folderskip_if_exists:-".gitignore"

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
tomcat Java条带错误   java OPENTSDB fsck修复程序不更正重复点   java JavaFX在控制器内切换自身的可见性   java maven surefire插件未并行执行运行程序   读取导致Freemarker模板引擎中TemplateException的Java对象   无法使Java库与我的Android应用程序一起工作   安卓 java。lang.IllegalStateException游标   使用Java检索XML文件中的XSL URL和名称   java如何从文本文件集合中提取特定值   电子邮件java mail gmail   java为什么finalize()只被垃圾收集器调用一次?   java方法findViewById(int)对于Json类型是未定义的。蛇形   java在安卓中尝试从brother打印机打印位图时遇到以下异常   java在颤振中支持Kotlin的优势   java从后面编写文本   java制作列表。第一个列表可以有相同的数字,第二个将是价格,尝试制作第三个列表,如果它们是相同的数字,它将添加价格