zoukankan      html  css  js  c++  java
  • 【amad】cookiecutter -- 一个命令行工具,使用项目模版来构建项目

    动机

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

    简介

    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的值
      • 提示会安装顺序输出
    • 可以在命令运行前后的钩子上挂上你自己的脚本

    个人评分

    类型评分
    实用性 ⭐️⭐️⭐️⭐️⭐️
    易用性 ⭐️⭐️⭐️⭐️
    有趣性 ⭐️⭐️⭐️⭐️
  • 相关阅读:
    NEERC 15 (10/12)
    uoj259 & 独立集问题的一些做法
    Berlekamp-Massey算法简单介绍
    树链剖分的一种用法
    长链剖分
    [黑科技]常数优化的一些技巧
    tarjan解决路径询问问题
    Comet OJ
    洛谷P3835 【模板】可持久化平衡树(FHQ Treap)
    LOJ#107. 维护全序集(FHQ Treap)
  • 原文地址:https://www.cnblogs.com/thomaszdxsn/p/amadcookiecutter--yi-ge-ming-ling-xing-gong-ju-shi.html
Copyright © 2011-2022 走看看