动机

一般的框架都有脚手架工具,但是并不会让所有人满意。

简介

cookiecutter1是一个Python实现的命令行工具,可以通过项目模版来构建项目。

它的特性包括:

  • 跨平台支持
  • 支持python2.7+/python3.4+/pypy (不过你不懂python也可以使用)
  • 项目模版可以是任何变成语言的项目,或者支持任何的标记格式
  • 简单的命令行使用方法

    比如,可以直接使用一个github repo来作为项目模版:

    $ cookiecutter gh:audreyr/cookiecutter-pypackage

    也可以使用本地的项目模版

    $ 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/audreyr/cookiecutter-pypackage.git')
  • 目录名和文件名都可以使用模版占位符

    {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}.py

  • 支持无限制层数的目录嵌套

  • 模版使用jinja2来支持

  • 你的模版变量可以定义在json文件中, cookiecutter.json

    {
    "full_name": "Audrey Roy",
    "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"
    }
  • 会提示让用户选择输入变量:

    • 提示输入的字段就是cookiecutter.json的key
    • 默认值就是cookiecutter.json的值
    • 提示会安装顺序输出
  • 可以在命令运行前后的钩子上挂上你自己的脚本

个人评分

类型 评分
实用性 ⭐️⭐️⭐️⭐️⭐️
易用性 ⭐️⭐️⭐️⭐️
有趣性 ⭐️⭐️⭐️⭐️

【amad】cookiecutter -- 一个命令行工具,使用项目模版来构建项目的更多相关文章

  1. GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟。

    GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟. 支持输出多种格式 GitBook支 ...

  2. 用 nodejs 写一个命令行工具 :创建 react 组件的命令行工具

    用 nodejs 写一个命令行工具 :创建 react 组件的命令行工具 前言 上周,同事抱怨说 react 怎么不能像 angular 那样,使用命令行工具来生成一个组件.对呀,平时工作时,想要创建 ...

  3. 十分钟通过 NPM 创建一个命令行工具

    大过年的,要不要写点代码压压惊?来花十分钟学一下怎么通过 NPM 构建一个命令行工具. 写了一个小 demo,用于代替 touch 的创建文件命令 touchme ,可以创建自带“佛祖保佑”注释的文件 ...

  4. 显示器 Linux 性能 18 (一个命令行工具传递)

    对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并执行是多么的不easy.基于此原因. ...

  5. 如何用node编写命令行工具,附上一个ginit示例,并推荐好用的命令行工具

    原文 手把手教你写一个 Node.js CLI 强大的 Node.js 除了能写传统的 Web 应用,其实还有更广泛的用途.微服务.REST API.各种工具……甚至还能开发物联网和桌面应用.Java ...

  6. 如何用Node编写命令行工具

    0. 命令行工具 当全局安装模块之后,我们可以在控制台下执行指定的命令来运行操作,如果npm一样.我把这样的模块称之为命令行工具模块(如理解有偏颇,欢迎指正) 1.用Node编写命令行工具 在Node ...

  7. 安装rvm命令行工具

    rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换. https://rvm.io/ 如果你打算学习ruby/rails, rvm是必不可少的工具之一. 这里所有的命令都是再用户 ...

  8. Angular CLI 命令行工具

    工欲善其事必先利其器.好的工具让开发更加简单便捷. 1.全局安装angular cli npm install -g @angular/cli 2.安装完成后就可以使用angular-cli命令行工具 ...

  9. Orchard中的命令行工具

    在Orchard中提供了一个命令行工具,我们可以使用这个命令行工具创建用户.创建博客.生成代码.配置网站.打包模块等.并且这个命令行工具是可以扩充的,只要我们在自己开发的模块中创建一个Command类 ...

随机推荐

  1. Python----常用的__doc__、__name__、__file__的使用

    各自的作用: __doc__:获取到注释内容 __name__:获取到函数的名称 __file__:获取到当前的文件路径 示例代码: #!/usr/bin/env python # -*- codin ...

  2. 原生JS实现简单富文本编辑器2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. angularjs google map

    google map display incorrect To remove the grayness, according to https://angular-ui.github.io/angul ...

  4. IntelliJ IDEA必装插件以及SpringBoot使用小技巧合集

    IntelliJ IDEA必装插件 有不知道怎么安装的吗?File-->settings打开设置面板,找到plugins,输入想要安装的插件回车即可 1.背景图片 目前,IDEA支持设置背景图片 ...

  5. python自动华 (十一)

    Python自动化 [第十一篇]:Python进阶-RabbitMQ队列/Memcached/Redis  本节内容: RabbitMQ队列 Memcached Redis 1.  RabbitMQ ...

  6. [Algorithm] Tree Width with Level Width

    // --- Directions // Given the root node of a tree, return // an array where each element is the wid ...

  7. CentOS:去掉警报声音

    vi /etc/inputrc 然后将set bell-style none前面的#删掉 none 改为off :wq 保存退出 vim /etc/bashrc 在开始的地方加上一句 setterm ...

  8. Task异步

    快速示例 class Program { static void Main(string[] args) { //Console.WriteLine("main start..") ...

  9. 微信小程序之 map 地图使用

    1.在app.json中与pages平级的位置处,加上: "permission": { "scope.userLocation": { "desc& ...

  10. CF786C Till I Collapse 整体二分+根号分治

    题意:对于一个序列,假如说一个区间内最多能包含 $k$ 个不同的数,那么这个序列最少会被划分成几个区间 $?$ 输出 $k$ 为 $1\sim n$ 的答案. 我们每次选区间一定是贪心地将这个区间选地 ...