Cookie Cutter模板管理器

cctm的Python项目详细描述


cctm=Cookie Cutter模板管理器

cookiecutter的项目模板管理器

(仅限Python3号)

快速示例

$ cctm init
$ cctm selfupdate
$ cctm install audreyr/cookiecutter-pypackage
$ cctm use audreyr/cookiecutter-pypackage

# alias
$ cctm management alias audreyr/cookiecutter-pypackage pypackage
$ cctm use pypackage

# extra_context configuration
$ cctm config --name=full_name --value=podhmo.podhmo
$ cctm use pypackage

设置

$ pip install cctm

cctm使用单独的配置文件(cctm.json)。

正在搜索cctm.json

搜索方法在这里。

首先,从当前工作目录中,重复搜索“cctm.json”文件。

例如,如果CWD是~/foo/bar/boo。在路径下搜索。

  1. ~/foo/bar/boo/cctm.json
  2. ~/foo/bar/cctm.json
  3. ~/foo/cctm.json
  4. ~/cctm.json

其次,如果在第一个进程上找不到cctm.json,则使用~/.cctm/cctm.json(默认路径)

生成配置文件

通过cctm init生成配置文件。

$ cctm init

# if generating configuration file as current working directory
$ cctm init --project=.

包装信息

通过cctm list列出软件包信息

$ cctm list | grep pypackage
kragniz/cookiecutter-pypackage-minimal(12) -- A minimal template for python packages
audreyr/cookiecutter-pypackage(555) -- Cookiecutter template for a Python package.
pypackage -> audreyr/cookiecutter-pypackage  # this is alias

通过cctm show显示细节

$ cctm show audreyr/cookiecutter-pypackage
{"updated_at": "2016-01-08T22:53:23Z",
  "url": "https://github.com/audreyr/cookiecutter-pypackage",
  "name": "audreyr/cookiecutter-pypackage",
  "description": "Cookiecutter template for a Python package.",
  "star": 555,
  "created_at": "2013-07-14T18:52:05Z"}

使用Cookiecutter

安装CookiCutter模板

通过cctm install安装模板

$ cctm install chrisdev/wagtail-cookiecutter-foundation

# wagtail-cookiecutter-foundation is installed
$ cctm list --installed
audreyr/cookiecutter-pypackage
chrisdev/wagtail-cookiecutter-foundation

使用CookiCutter模板

通过cctm use使用已安装的模板

$ cctm use chrisdev/wagtail-cookiecutter-foundation

如果您对长名字感到恼火,那么cctm management alias可能会有帮助。

$ cctm management alias chrisdev/wagtail-cookiecutter-foundation mywagtail
$ cctm list --alias | grep wagtail
mywagtail -> chrisdev/wagtail-cookiecutter-foundation
$ cctm use mywagtail  # it's is also ok.

默认配置设置

如果要设置默认上下文,请使用cctm config

# show configuration
$ cctm config | jq .extra_context
{"name": "podhmo",
}# edit configuration
$ cctm config --name=project_name --value=hello
# delete configuration
$ cctm config --name=project_name

配置文件中的extra_context属性用作Cookiecutter的extra context,所以。

$ cctm use mywagtail
project_name [Wagtail Project]:  # cancel

$ cctm config --name=project_name --value=hello
$ cctm use mywagtail
project_name [hello]:

您的自定义存储库

如果您将url存储在配置文件的存储库中,cctm会将其识别为包存储。

这里是默认的repostories。

"repositories": [
  "https://raw.githubusercontent.com/podhmo/cctm/master/data/cookiecutter.index.json"
]

包格式示例

{
  "name": "chrisdev/wagtail-cookiecutter-foundation",
  "url": "https://github.com/chrisdev/wagtail-cookiecutter-foundation",
  "description": "Cookiecutter template for Wagtail CMS using Zurb Foundation 5",
  "created_at": "2015-04-13T13:36:50Z",
  "updated_at": "2016-01-04T14:53:04Z",
  "star": 23
}

如果您知道,github url,可以通过cctm management fetch获取信息

$ cctm management fetch chrisdev/wagtail-cookiecutter-foundation
{"name": "chrisdev/wagtail-cookiecutter-foundation",
  "url": "https://github.com/chrisdev/wagtail-cookiecutter-foundation",
  "description": "Cookiecutter template for Wagtail CMS using Zurb Foundation 5",
  "created_at": "2015-04-13T13:36:50Z",
  "updated_at": "2016-01-04T14:53:04Z",
  "star": 23}# store data at local.json
$ cctm management fetch chrisdev/wagtail-cookiecutter-foundation --save --store=./local.json

请不要忘记致电cctm selfupdate。此命令同步本地数据和存储数据。

$ cctm selfupdate

0.2

  • 生成错误修复。

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

推荐PyPI第三方库


热门话题
保存一段xml是一个新的xml解析器Java   java如何使用断言测试单链表。assertEquals()   java如何将多个选定图像从Gallery复制到Android中的另一个文件夹   重新触发异常时调用序列中的java差异   swing如何在Java中的GridLayout面板的特定单元格中添加标签?   java在更新引用实体之后,有没有办法更新其他实体中的列?   java如何在两个实体之间使用foreach   java方法add(Component)不适用于参数   Apache Tiles和Spring MVC中的java全局异常页面   java kSoap2发送集合   Java存储对象与直接调用其方法的性能对比?   java如何访问selenium中的nowrap元素   使用endpointsframeworktools生成OpenAPI文档时发生java错误   西/东方向的java JLabel不会显示在BorderLayout中   java ActiveMQ Spring客户端:如何更改处理器池?   java不能取消对void的引用;尝试使用生成器模式   javajavax。websocketclient:如何将大型二进制数据从clientendpoint发送到serverendpoint   运行Java代理时Java代理问题   如何将Web应用程序连接到Java/ABAP应用程序   javajackson处理问题