(图表)。

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第三方库


热门话题
java本机方法的源代码可用吗?   java如何使父方法抛出异常?   java Android以编程方式设置不同屏幕大小/密度的布局   java如何使用一个变量来管理所有客户端请求   java输入一个txt文件,每行有一组数字   json java从jsonobject获取jsonarray错误   java将一个(WAV)写入一个文件只会说一个单词(最后一个单词)   java Telnet忽略原始字节   proguard java。运行桌面应用程序时出现lang.VerifyError   java用左键移动JLabel?   java如何在jText区域验证选项卡?   文件服务器客户端Javasocket编程中的字符串搜索   java省略了JSTL中的最后一个逗号<c:out>   java如何找到if或else代码已执行的次数?   java JavaScript WebSocket send()方法未执行   浮点数声明上的java标识符预期错误   java这是指二进制搜索算法吗?   编译mod at:reobfJar java时的minecraft问题。util。拉链ZipException:重复条目   java检测特定的震动运动(如图所示:D)