原文档地址:https://cookiecutter.readthedocs.io/en/latest/html
本系列只介绍cookiecutter的基础使用,并且会删除与功能使用无关的部分。深度使用及了解更多详情请请参考原文档。前端
关于Cookiecutter的中文译名,我不知作别人怎么翻译的,我将其翻译为饼干制造机。本系列中将不对其做翻译,直接使用英文原名。java
Cookiecutter 是一个经过项目模板建立项目的命令行工具。好比,经过Python Package模板来建立Python package项目。(经过Python代码调用Cookiecutter的API能够扩展为自动化建立服务和带有Web UI的服务程序)node
# 从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 项目模板可供选择。python
这些模板由cookiecutter官方团队进行维护:jquery
社区驱动的各种Cookiecutter模板(非Cookiecutter官方维护)android
Pythonwebpack
impress.js
幻灯片)Python-Djangoios
Python-Pyramidgit
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
持续交付
其余