日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cookiecutter

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cookiecutter 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Cookiecutter: 更好的項目模板工具:(1)簡介及可用資源匯總

原文檔地址:https://cookiecutter.readthedocs.io/en/latest/

本系列只介紹cookiecutter的基礎使用,而且會刪除與功能使用無關的部分。深度使用及了解更多詳情請請參考原文檔。

關于Cookiecutter的中文譯名,我不知道別人怎么翻譯的,我將其翻譯為餅干制造機。本系列中將不對其作翻譯,直接使用英文原名。

Cookiecutter簡介

Cookiecutter 是一個通過項目模板創建項目的命令行工具。比如,通過Python Package模板來創建Python package項目。(通過Python代碼調用Cookiecutter的API可以擴展為自動化創建服務和帶有Web UI的服務程序)

功能特點

  • 跨平臺:官方支持Windows、Mac和Linux
  • 可以在Python 2.7, 3.4, 3.5, 3.6, and PyPy.環境中正常使用(此處指的是Cookiecutter的運行環境,而不是你項目的運行環境。使用Cookiecutter不需要你懂得編寫Python代碼)
  • 項目模板可以是任何編程語言或標記格式:Python, JavaScript, Ruby, CoffeeScript, RST, Markdown, CSS, HTML等任何你能叫出名字的。你也可以在同一個項目模板中使用多種語言。
  • 命令行的簡單使用:
# 從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
  • 支持無限層級的目錄嵌套。
  • 文件和目錄名稱100%使用Jinja2完成模板化。
  • 只需在·cookiecutter.json·文件中定義模板變量即可。 例如:
{"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" }
  • 沒有你用·--no-input·來禁止,系統會提示你輸入:
    • cookiecutter.json中鍵/key對應的值/value。
    • cookiecutter.json中的缺省值
    • 提示符按順序顯示
  • 跨平臺支持~/.cookiecutterrc文件:
default_context:full_name: "Tacey Wong"email: "xinyong.wang@qq.com"github_username: "taceywong" cookiecutters_dir: "~/.cookiecutters/"
  • 克隆的Cookiecutter項目模板會缺省放置在~/.cookiecutters/目錄下,如果特殊指定,會放置在cookiecutters_dir對應的目錄下:
# 克隆cookiecutter-pypackage $ cookiecutter gh:audreyr/cookiecutter-pypackage # 現在你可以根據名字使用對應的模板 $ cookiecutter cookiecutter-pypackage
  • 您可以使用你本地模板、遠程Git repos
  • 默認上下文:指定在生成項目時要用作默認值的鍵/值對
  • 用命令行參數注入額外的上下文:
$ cookiecutter --no-input gh:msabramo/cookiecutter-supervisor program_name=foobar startsecs=10
  • 直接訪問Cookiecutter API允許注入額外的上下文。
  • 預生成和后生成掛鉤/hook:在生成項目之前或之后運行的Python或shell腳本。
  • 本地項目的路徑可以指定為絕對路徑或相對路徑。
  • 項目始終生成到當前目錄。

可用的Cookiecutter模板

現在在已經有很多開源的Cookiecutter 項目模板可供選擇。

特定的Cookiecutter模板

這些模板由cookiecutter官方團隊進行維護:

  • cookiecutter-pypackage:@audreyr終極Python包項目模板。
  • cookiecutter-django: 一個具有Bootstrap 4、可定制用戶應用程序、啟動器模板、用戶注冊、celery設置等功能的Django項目模板。
  • cookiecutter-pytest-plugin: 編寫pytest插件的最小Cookiecutter模板,幫助你編寫更好的程序。

Cookiecutter模板分類

社區驅動的各類Cookiecutter模板(非Cookiecutter官方維護)

Python

  • cookiecutter-pypackage: @audreyr的終極Python包項目模板。
  • cookiecutter-pipproject: pip可安裝項目的最小軟件包
  • cookiecutter-pypackage-minimal: 一個最小的Python包模板。
  • cookiecutter-lux-python: 一個Python樣板項目,旨在利用方便的Makefile工具和額外的輔助工具創建Python包。
  • cookiecutter-flask :帶有 Bootstrap 3、啟動器模板和工作用戶注冊的Flask模板。
  • cookiecutter-flask-2: 一個更重的cookiecutter-flask,有更多的樣板,包括忘記密碼和Heroku集成功能
  • cookiecutter-flask-foundation : 帶有緩存、表單、sqlalchemy和單元測試的Flask模板。
  • cookiecutter-flask-minimal : 最小但production就緒的Flask項目模板,除了Flask本身之外,沒有其他依賴。
  • cookiecutter-flask-skeleton : Flask啟動項目。
  • cookiecutter-bottle : 用于快速創建可重復使用的Bottle項目的cookiecutter模板。
  • cookiecutter-openstack: OpenStack項目的模板。
  • cookiecutter-docopt: Python命令行腳本的模板,使用docopt進行參數解析。
  • cookiecutter-quokka-module: 用于創建Quokka Flask CMS藍圖模塊的模板。
  • cookiecutter-kivy:基于kivy python-framework構建的NUI應用程序模板。
  • cookiedozer: Python Kivy應用程序的模板,已準備好使用Buildozer部署到Android設備。
  • cookiecutter-pylibrary: 一個旨在快速開始進行良好的測試和打包的復雜模板,(Tox,Pytest,Travis-CI,Coveralls,AppVeyor,Sphinx docs,isort,轉換,打包、檢查等工作配置)。
  • cookiecutter-pyvanguard: 用于尖端Python開發的模板。[invoke](http://docs.pyinvoke.org/en/latest /)、pytest、bumpversion和Python 2/3兼容性。
  • Python-iOS-template: 用于創建在iOS設備上運行的Python項目模板。
  • Python-Android-template: 用于創建在Android設備上運行的Python項目模板。
  • cookiecutter-tryton用于創建基本和外部Tryton模塊的模板。
  • cookiecutter-tryton-fulfilio: 用于創建tryton模塊的模板。
  • cookiecutter-pytest-plugin: 用于創作pytest插件的最小Cookiecutter模板,可幫助您編寫更好的程序。
  • cookiecutter-tox-plugin: 編寫tox 插件的最小Cookiecutter模板,用于更改或擴展測試自動化的行為。
  • cookiecutter-tapioca: 用于構建基于Web API包裝器(客戶端)的[tapioca-wrapper](https://github.com/vintasoftware/tapioca-wrapper)的模板。
  • cookiecutter-muffin: 帶有Bootstrap 3,啟動器模板和工作用戶注冊的Muffin模板。
  • cookiecutter-octoprint-plugin: 用于構建OctoPrint.插件的模板
  • cookiecutter-funkload-friendly: funkload-friendly 項目的Cookiecutter模板。
  • cookiecutter-python-app: 用于創建具有子命令、日志記錄、YAML配置、pytest測試和Virtualenv部署的Python CLI應用程序的模板。
  • morepath-cookiecutter:超強web微框架Morepath的Cookiecutter模板,。
  • Springerle/hovercraft-slides: 新Hovercraft! 展現項目模板(reStructuredText中嵌入impress.js幻燈片)
  • cookiecutter-snakemake-analysis-pipeline: 一種輕松設置Snakemake分析管道的方法。
  • cookiecutter-py3tkinter: Python 3 Tkinter應用程序gui的模板。
  • cookiecutter-pyqt5: 預構建的PyQt4 GUI模板,具有日志記錄支持、用于測試和分離ui和工作組件的結構。
  • cookiecutter-pyqt4: A prebuilt PyQt4 GUI template with a logging support, structure for tests and separation of ui and worker components.
  • cookiecutter-xontrib: 用于構建xontribs的模板,a.k.a xonsh貢獻
  • cookiecutter-conda-python: 用于構建Conda Python包的模板
  • cookiecutter-pypackage-rust-cross-platform-publish: 包含Rust二進制模塊的Python wheel 模板,支持在Windows,OSX和Linux上發布。
  • cookiecutter-telegram-bot: 一個帶有基于CherryPy webhook的Telegram機器人模板項目。
  • python-project-template: 一個用于Python項目的模板,具有復雜的發布自動化功能。
  • cookiecutter-anyblok-project: 基于Anyblok的項目模板。
  • cookiecutter-python-cli:用于使用“click”創建Python CLI應用程序的cookiecutter模板

Python-Django

  • cookiecutter-django: 帶有Bootstrap 4的前沿Django項目模板,可自定義的用戶應用程序,入門模板,用戶注冊,celery設置等等。
  • cookiecutter-django-rest: 用于為移動和Web應用程序創建REST api。
  • cookiecutter-simple-django: 快速創建可重用Django項目的cookiecutter 模板
  • django-docker-bootstrap: Djangodocker開發/生產環境,并集成了 Postgres, NodeJS(React), Nginx, uWSGI.
  • cookiecutter-djangopackage:用于創建可重用的第三方PyPI友好Django應用程序的cookicutter模板。 用教程格式編寫文檔
  • cookiecutter-django-cms: Django CMS的模板,帶有簡單的Bootstrap 3模板。 它具有快速啟動和部署文檔。
  • cookiecutter-django-crud: 用于圍繞工廠模式和測試的模型創建帶有CRUD樣板的Django應用程序。
  • cookiecutter-django-lborgav:Django項目的另一個cookiecutter模板,帶有Bootstrap 3和FontAwesome 4
  • cookiecutter-django-paas: 準備在像Heroku,OpenShift等PAAS平臺中使用的Django模板
  • cookiecutter-django-rest-framework: 用于創建可重用Django REST框架包的模板。
  • cookiecutter-django-aws-eb: 在AWS Elastic Beanstalk上啟動并運行Django。
  • cookiecutter-wagtail : 基于Wagtail CMS的網站模板
  • wagtail-cookiecutter-foundation: Wagtail CMS項目的完整模板,帶有 Zurb Foundation 6,ansible資源調配和部署,使用bower進行前端相關性管理,模塊化的應用程序,使您的網站啟動和運行照片畫廊,RSS流等。
  • django-starter: 包含vagrant和provisioning腳本的Django模板- 靈感來自12factor應用程序和cookiecutter-django。
  • cookiecutter-django-gulp: 在Django項目中集成前端開發工具的Cookiecutter模板
  • wagtail-starter-kit: 配有wagtail,django布局,vagrant,配置腳本,前端構建系統等等的cookiecutter模板。
  • cookiecutter-django-herokuapp: 一個為Heroku python3優化的Django 1.7+模板。
  • cookiecutter-simple-django-cn:一個簡單的Django中文模板。
  • cc_django_ember_app: 用于使用Django和EmberJS創建應用程序
  • cc_project_app_drf: 用于基于“project app”項目體系結構創建REST api
  • cc_project_app_full_with_hooks: 用于基于“project app”項目體系結構創建Django項目
  • cc-automated-drf-template: 模板+腳本,根據模型文件作為輸入自動創建包含序列化程序,視圖,URL和管理文件的Django REST項目。
  • cookiecutter-django-foundation: cookiecutter-django分支, 基于 Zurb Foundation 6前端框架。
  • cookiecutter-django-ansible: 用于快速啟動ansible項目,以便為您的* cookiecutter-django *應用程序提供服務器的框架
  • wemake-django-template: 前沿Django模板專注于代碼質量和安全性。

Python-Pyramid

  • pyramid-cookiecutter-alchemy:Cookiecutter (項目模板),使用SQLite創建Pyramid項目,SQLAlchemy用于ORM,URL調度用于路由,Jinja2用于模板。
  • pyramid-cookiecutter-starter: 使用URL調度進行路由分配,使用Jinjab 2、Chameleon或Mako模板創建Pyramid入門項目的Cookiecutter (項目模板)。
  • pyramid-cookiecutter-zodb:Cookiecutter(項目模板),用于創建Pyramid項目,使用ZODB進行持久存儲,遍歷路由,使用Chameleon進行模板化。
  • substanced-cookiecutter: 用于創建Substance D初始項目的cookiecutter(項目模板)。 Substance D是基于Pyramid實現的。
  • cookiecutter-pyramid-talk-python-starter: 一個自以為是的Cookiecutter模板,用于創建PyramidWeb應用程序,從開發鏈的下游開始。這個cookiecutter模板將創建一個新的Pyramid Web應用程序,其中包含電子郵件,sqlalchemy,rollbar以及更多的集成。

**Cookiecutter (meta) **

用于生成Cookiecutter項目模板的元模板。

  • cookiecutter-template: 用于創建一個Cookiecutter模板

Ansible

  • cookiecutter-molecule: 按照最佳實踐創建Create Molecule角色, 利用Test-kitchen,Docker和InSpec實現已經實施的測試基礎架構。Molecule, Docker and Testinfra.
  • cookiecutter-ansible-role: 用于創建ansible角色的模板。 忘記文件創建,專注于操作。
  • cookiecutter-ansible-role-ci: 按照最佳實踐創建Ansible角色,利用Test-kitchen,Docker和InSpec實現已經實施的測試基礎架構。

Git

  • cookiecutter-git: Git repo項目模板

C

  • bootstrap.c: 用C語言編寫的帶有autotools的簡單項目模板。
  • cookiecutter-avr: avr開發的模板。

C++

  • BoilerplatePP: 一個簡單的cmake模板,對用C ++編寫的項目進行單元測試。
  • cookiecutter-dpf-effect: DISTRHO插件框架(DPF)的音頻插件項目模板
  • cookiecutter-dpf-audiotk: 一個音頻插件項目模板,用于發行版插件框架(DPF)和音頻工具包(ATK) DSP庫
  • cookiecutter-kata-gtest: 使用Google Test框架的C ++測試驅動開發katas模板。
  • cookiecutter-kata-cpputest: 使用CppUTest框架的C ++測試驅動開發katas的模板。

C#

  • cookiecutter-csharp-objc-binding: 生成用于綁定Objective-C靜態庫的C#綁定項目的cookircutter模板。

Common Lisp

  • cookiecutter-cl-project: 帶有bootstrap腳本和Slime集成的Common Lisp項目cookiecutter模板,

Elm

  • cookiecutter-elm: 基于Elm帶有html樣例的cookiecutter模板。

Golang

  • cookiecutter-golang: 根據最佳實踐創建基golang新項目的模板

Java

  • cookiecutter-java: 使用gradle的基本java應用程序設置的cookiecutter模板。
  • cookiecutter-spring-boot: 標準java spring boot gradle應用程序的Cookiecutter模板。
  • cookiecutter-android:基于Gradle的Android項目Cookiecutter模板。

JS

  • cookiecutter-es6-boilerplate:S6中的前端項目cookiecutter模板
  • cookiecutter-webpack: Webpack 2項目的模板,包括熱重新加載,babel es6模塊和反應。
  • cookiecutter-jquery:一個基于jQuery Boilerplate的jQuery插件項目模板。
  • cookiecutter-jswidget: 為多個JS打包系統創建一個通用的前端非jQuery JS小部件的項目模板。
  • cookiecutter-component: Component JS 包模板
  • cookiecutter-tampermonkey: TamperMonkey瀏覽器腳本的模板。
  • cookiecutter-es6-package: 使用ES6通過babel編寫nodejs包的模板。
  • cookiecutter-angular2: 帶有typescript應用程序的模塊化angular2模板。
  • CICADA: 自動為AngularJS前端創建列表/細節控制器和片段,以連接到DRF后端的模板和腳本。 與cc-automated-drf-template配合的很好。

Kotlin

  • cookiecutter-kotlin-gradle: 基于Gradle的Kotlin項目簡單模板。

LaTeX/XeTeX

  • pandoc-talk:用于與pandoc和XeTeX進行對接的cookiecutter模板。
  • cookiecutter-latex-article: 針對學術界使用的LaTeX模板
  • cookiecutter-beamer: LaTeX Beamer展示模板

PHP

  • cookiecutter-mediawiki-extension: MediaWiki擴展的模板。

Sublime Text

  • cookiecutter-sublime-text-3-plugin: Sublime Text 3 插件模板, 包括自定義設置、命令、鍵綁定和主菜單
  • sublime-snippet-package-template: 包含片段型Sublime Text包的模板。

Berkshelf-Vagrant

  • slim-berkshelf-vagrant: 與 vagrant/berkshelf cookbooks保持一致的cookbook簡單模板

HTML

  • cookiecutter-complexity:一個使用Bootstrap 3的復雜靜態站點cookiecutter模板。

  • cookiecutter-reveal.js: reveal.js演示文稿的cookiecutter模板。

  • cookiecutter-tumblr-theme: 使用GruntJS作為連接工具的Tumblr主題項目的cookiecutter模板。
    Scala

  • cookiecutter-scala:帶有幾個庫的簡單scala hello world應用程序cookiecutter模板

  • cookiecutter-scala-spark: 用Scala編寫的Apache Spark應用程序的cookiecutter模板。
    6502 Assembly

  • cookiecutter-atari2600: Atari2600項目的cookiecutter模板。

Data Science

  • widget-cookiecutter: 用于創建自定義Jupyter小部件項目的cookiecutter模板。
  • cookiecutter-data-science:為在Python中進行和共享數據科學工作的邏輯的、合理標準化的、靈活的項目結構。此處提供了的完整文檔 。
  • cookiecutter-r-data-analysis: 組織基于R的工作流->doc(通過pandoc)->pdf報告(通過latex)的模板
  • cookiecutter-docker-science: Cookiecutter template for data scientists working in Docker containers.為使用Docker容器工作的數據科學家準備的Cookiecutter模板。

Reproducible Science

  • cookiecutter-reproducible-science: 用于開始一個可重復和透明的科學項目,包括數據,模型,分析和報告的cookiecutter模板 (比如你的科學論文)。與上面數據科學Cookiecutter模板的哲學非常一致

數據驅動的Journalism

  • cookiecutter-data-driven-journalism: 通過持續組織數據日志項目和一些預先填充的文件來促進數據日志的透明度的Cookiecutter模板(包括 .gitignore, README, AUTHORS)

持續交付

  • painless-continuous-delivery: 用于包含持續交付的軟件開發設置cookiecutter模板。支持Python (Django, Flask), 實驗性支持 PHP 。
  • cookiecutter-devenv: 用于將開發和ci環境添加到現有項目的模板。

云工具

  • cookiecutter-tf-module: 用于構建一致Terraform模塊的Cookiecutter模板。

Tornado

  • cookiecutter-tornado: 創建Tornado項目的Cookiecutter模板

其他

  • cookiecutter-awesome: 創建[awesome](https://github.com/sindresorhus/awesome)列表的Cookiecutter模板。
  • cookiecutter_dotfile: 由stow管理的dotfiles文件夾的模板。
  • cookiecutter-raml: RAML v1.0 API文檔的模板。

與Cookiecutter類似的項目

  • Paste 具有創建骨架項目的創建選項。
  • Diecutter: 一個提供模板和變量的配置文件的API服務。
  • Django的tartproject和startapp命令可以使用-template選項。
  • python-packager:使用自己的模板創建Python包,并提供可配置的選項。
  • Yeoman 有一個受Rails啟發的生成器系統,為應用程序提供腳手架。
  • Pyramid的pcreate命令,用于從腳手架模板創建Pyramid 項目。
  • mr.bob 是一個文件系統模板渲染器,用于棄用paster和templer等工具
  • grunt-init 曾經被內置到Grunt中,現在是一個獨立的腳手架工具,可以自動創建項目。
  • scaffolt 使用Handlebars 的JSON生成器。
  • init-skeleton 克隆或復制存儲庫,執行npm安裝和bower安裝,并刪除.git目錄。
  • Cog 由Ned Batchelder開發的基于python的代碼生成工具包
  • Skaffold 基于python和json配置的django / MVC生成器,帶有一些附加組件和集成。

總結

以上是生活随笔為你收集整理的Cookiecutter的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。