原文档地址:https://cookiecutter.readthedocs.io/en/latest/
本系列只介绍cookiecutter的基础使用,而且会删除与功能使用无关的部分。深度使用及了解更多详情请请参考原文档。
关于Cookiecutter的中文译名,我不知道别人怎么翻译的,我将其翻译为饼干制造机。本系列中将不对其作翻译,直接使用英文原名。
Cookiecutter 是一个通过项目模板创建项目的命令行工具。比如,通过Python Package模板来创建Python package项目。(通过Python代码调用Cookiecutter的API可以扩展为自动化创建服务和带有Web UI的服务程序)
# 从cookiecutter-pypackage.git模板创建项目
# 你将会被提示输入相应的值。
# 然后Cookiecutter将基于你的输入在当前工作目录中创建Python包
$ cookiecutter https://github.com/audreyr/cookiecutter-pypackage
# 为了简洁起见,repos在GitHub上可以只使用“gh”前缀
$ cookiecutter gh:audreyr/cookiecutter-pypackage
# 从本地在当前目录创建项目
# cookiecutter-pypackage/ template
$ cookiecutter cookiecutter-pypackage/
{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}.py
{
"full_name": "Tacey Wong",
"email": "xinyong.wang@qq.com",
"project_name": "Complexity",
"repo_name": "complexity",
"project_short_description": "令人耳目一新的简单的静态网站生成器.",
"release_date": "2019-03-10",
"year": "2019",
"version": "0.0.1"
}
cookiecutter.json
中键/key对应的值/value。cookiecutter.json
中的缺省值~/.cookiecutterrc
文件:default_context:
full_name: "Tacey Wong"
email: "xinyong.wang@qq.com"
github_username: "taceywong"
cookiecutters_dir: "~/.cookiecutters/"
~/.cookiecutters/
目录下,如果特殊指定,会放置在cookiecutters_dir
对应的目录下:# 克隆cookiecutter-pypackage
$ cookiecutter gh:audreyr/cookiecutter-pypackage
# 现在你可以根据名字使用对应的模板
$ cookiecutter cookiecutter-pypackage
$ cookiecutter --no-input gh:msabramo/cookiecutter-supervisor program_name=foobar startsecs=10
现在在已经有很多开源的Cookiecutter 项目模板可供选择。
这些模板由cookiecutter官方团队进行维护:
社区驱动的各类Cookiecutter模板(非Cookiecutter官方维护)
Python
impress.js
幻灯片)Python-Django
Python-Pyramid
Cookiecutter (meta)
用于生成Cookiecutter项目模板的元模板。
Ansible
Git
C
C++
C#
Common Lisp
Elm
Golang
Java
JS
Kotlin
LaTeX/XeTeX
PHP
Sublime Text
Berkshelf-Vagrant
HTML
cookiecutter-tumblr-theme: 使用GruntJS作为连接工具的Tumblr主题项目的cookiecutter模板。
Scala
cookiecutter-scala-spark: 用Scala编写的Apache Spark应用程序的cookiecutter模板。
6502 Assembly
cookiecutter-atari2600: Atari2600项目的cookiecutter模板。
Data Science
Reproducible Science
数据驱动的Journalism
持续交付
其他
Cookiecutter: 更好的项目模板工具:(1)简介及可用资源汇总
原文:https://www.cnblogs.com/taceywong/p/10506032.html