- 文档:https://cookiecutter.readthedocs.io
- GitHub:https://github.com/cookiecutter/cookiecutter
- PyPI:https://pypi.org/project/cookiecutter/
- 免费开源软件:BSD license
我们为能成为以下项目的开源赞助商而感到自豪PyCon 2016
功能
是不是有人说有特写?
- 跨平台:官方支持Windows、Mac、Linux
- 您无需了解/编写Python代码即可使用Cookiecuter
- 适用于Python 3.6、3.7、3.8、3.9和PyPy3
- 项目模板可以是任何编程语言或标记格式:Python、JavaScript、Ruby、CoffeeScript、RST、Markdown、CSS、HTML等等。您可以在同一项目模板中使用多种语言
- 简单的命令行用法:
# Create project from the cookiecutter-pypackage.git repo template # You'll be prompted to enter values. # Then it'll create your Python package in the current working directory, # based on those values.
$ cookiecutter https://github.com/audreyfeldroy/cookiecutter-pypackage
# For the sake of brevity, repos on GitHub can just use the 'gh' prefix
$ cookiecutter gh:audreyfeldroy/cookiecutter-pypackage
- 在带有本地模板的命令行中使用它:
# Create project in the current working directory, from the local # cookiecutter-pypackage/ template
$ cookiecutter cookiecutter-pypackage/
- 或者从Python中使用它:
from cookiecutter.main import cookiecutter # Create project from the cookiecutter-pypackage/ template cookiecutter('cookiecutter-pypackage/')
# Create project from the cookiecutter-pypackage.git repo template cookiecutter('https://github.com/audreyfeldroy/cookiecutter-pypackage.git')
- 目录名和文件名可以模板化。例如:
{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}.py
- 支持无限级别的目录嵌套
- 100%的模板使用JJAA2完成。这包括文件名和目录名
- 只需在
cookiecutter.json
文件。例如:
{
"full_name": "Audrey Feldroy",
"email": "audreyr@gmail.com",
"project_name": "Complexity",
"repo_name": "complexity",
"project_short_description": "Refreshingly simple static site generator.",
"release_date": "2013-07-10",
"year": "2013",
"version": "0.1.1"
}
- 除非你用来压制它
--no-input
,系统将提示您输入:- 提示是中的关键
cookiecutter.json
- 默认响应为中的值
cookiecutter.json
- 提示按顺序显示
- 提示是中的关键
- 跨平台支持
~/.cookiecutterrc
文件:
default_context:
full_name: "Audrey Feldroy" email: "audreyr@gmail.com" github_username: "audreyfeldroy" cookiecutters_dir: "~/.cookiecutters/"
- Cookiecutters(克隆的Cookiecutter项目模板)被放入
~/.cookiecutters/
缺省情况下,或cookiecutters_dir(如果指定 - 如果您已经将Cookiecuter克隆到
~/.cookiecutters/
,您可以按目录名引用它:
# Clone cookiecutter-pypackage
$ cookiecutter gh:audreyfeldroy/cookiecutter-pypackage
# Now you can use the already cloned cookiecutter by name
$ cookiecutter cookiecutter-pypackage
- 您可以直接从Bitbucket上的Git repos或Mercurial repos使用本地cookiecutter或远程cookiecutter
- 默认上下文:指定希望在生成项目时用作默认值的键/值对
- 使用命令行参数注入额外的上下文:
cookiecutter --no-input gh:msabramo/cookiecutter-supervisor program_name=foobar startsecs=10
- 直接访问Cookiecutter API允许插入额外的上下文
- 生成前和生成后挂接:在生成项目之前或之后运行的Python或shell脚本
- 可以将本地项目的路径指定为绝对路径或相对路径
- 指定的情况下,生成到当前目录或目标目录的项目
-o
选项
可用的Cookiecuters
制作好的饼干需要很多饼干制作者和贡献者。我们很高兴有很多Cookiecutter项目模板可供选择。我们希望您能找到适合您需要的炊具。
装满了炊事工的储藏室
开始搜索特定的、随时可以使用的Cookiecuter模板的最佳位置是Github search只需键入即可cookiecutter
您将发现4000多个相关存储库
我们还建议您查看相关的GitHub主题。供一般搜索使用cookiecutter-template对于特定主题,请尝试使用cookiecutter-yourtopic
,就像cookiecutter-python
或cookiecutter-datascience
这是GitHub的一项新功能,因此目前并不是所有的活动存储库都使用它
如果您是模板开发人员,请添加相关内容topics使用cookiecutter
存储库的前缀。我们相信这将使它更容易被发现。你几乎不受话题数量的限制,使用它吧!
炊事员特色菜
这些Cookiecuter由Cookiecuter团队维护:
- cookiecutter-pypackage:@audreyfeldroy’s旗舰Python包项目模板
- cookiecutter-django:包含Bootstrap 4、可定制用户应用程序、入门模板、工作用户注册、celery设置等功能的尖端Django项目模板
- cookiecutter-pytest-plugin:用于创作的最小Cookiecuter模板pytest帮助您编写更好程序的插件
社区
核心提交者团队可以在authors section我们随时欢迎并邀请您参加
卡住了?尝试以下操作之一:
- 请参阅Troubleshooting页面
- 在以下方面寻求帮助Stack Overflow
- 我们强烈鼓励您file an issue关于这个问题,即使只是“我不能让它在这个Cookiecuter上工作”,并带有指向您的Cookiecuter的链接。不要担心如何恰当地命名/查明问题
- 在以下方面寻求帮助Slack如有必要(但请先尝试其他选项之一,以便其他人可以从讨论中受益)
Cookiecuter上的开发是由社区驱动的:
- 非常感谢所有contributors他们为帮助Cookiecuter成为更好的工具贡献了自己的力量
- 每个人都被邀请贡献自己的力量。请阅读contributing instructions,然后开始
- 与上的其他Cookiecuter贡献者和用户联系Slack(注意:由于工作和承诺的原因,核心提交者可能并不总是有空)
鼓励是令人难以置信的激励。如果您希望在Cookiecutter上完成更多工作,请显示支持:
- 感谢核心提交者的努力
- 星星Cookiecutter on GitHub
- Support this project
有批评或投诉吗?
- File an issue这样Cookiecuter就可以改进了。对可以做得更好的事情表现出友好和建设性的态度。提出详细建议
- 让我们了解最新情况,这样我们就能提供帮助例如,如果您正在讨论邮件列表上的Cookiecutter问题,file an issue链接到讨论主题和/或抄送电子邮件中至少一名核心提交人的位置
- 要鼓励别人。像“这个函数应该像这样重写”这样的评论比像“Eww,看看这个函数有多糟糕”这样的评论更有可能导致行动。
等待对问题/问题的答复?
- 要有耐心,要坚持不懈。所有问题都在核心提交者团队的雷达上,并将经过深思熟虑,但我们有很多问题需要解决。如果紧急,可以用提示ping问题中的核心提交者
- 请他人发表评论、讨论、评论等
- 在Cookiecuter存储库中搜索与您的问题相关的问题
- 急需修复/功能/版本/帮助,等不及了吗?@audreyfeldroy可供租用进行咨询或定制开发
支持此项目
这个项目是由志愿者运营的。不久,我们将为组织和个人提供支持该项目的手段
行为规范
在Cookiecutter项目的代码库、问题跟踪器、聊天室和邮件列表中交互的每个人都应该遵循PyPA Code of Conduct
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。