clippings/composer-init

此包已被弃用且不再维护。没有建议的替代包。

基于模板包初始化 composer 包

安装: 129

依赖者: 0

建议者: 0

安全: 0

星标: 4

关注者: 19

分支: 0

开放问题: 1

类型:应用

0.4.0 2015-11-28 09:15 UTC

This package is auto-updated.

Last update: 2020-01-21 10:48:08 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version

每次开始新项目时都厌倦了创建相同的目录结构?厌倦了每次克隆 github 模板仓库时不断修改文件?这个命令行工具允许你根据模板初始化项目,并在模板中填写值。

安装

通过 composer 安装

$ composer global require clippings/composer-init

这将将其安装到你的用户全局 composer 中。如果你已经将 ~/.composer/vendor/bin/ 添加到你的 PATH 中,你可以使用以下命令开始使用它

$ composer-init

否则,你可以直接调用

$ ~/.composer/vendor/bin/composer-init

基本用法

  • composer-init search 查找模板
  • composer-init use {template-package} 在空文件夹中使用模板
  • composer-init token {token} 设置用于超过 github 速率限制 的 github token

composer-init 从 github 仓库和组织获取许多默认值,因此最好在 github 中创建一个空仓库,本地克隆它,然后在其中运行 "composer-init use ..."。

创建模板

composer-init 模板必须发布到 Packagist.org,(因此有一个 composer.json 文件)并且有一个 prompts.json 文件来描述哪些可用的提示将被使用。包应该以 "type": "composer-init-template" 发布。所有模板的代码都位于 "root" 目录中。

示例 composer.json 文件

{
    "name": "clippings/package-template",
    "description": "Package Template",
    "license": "MIT",
    "type": "composer-init-template",
    "authors": [
        {
            "name": "John Smith",
            "email": "john@example.com",
            "role": "Author"
        }
    ]
}

示例 prompts.json 文件

[
    "package_name",
    "title",
    "description",
    "php_namespace",
    "author_name",
    "author_email",
    "copyright",
    "bugs"
]

这表示此包将使用这些提示,收集它们的输入,然后填写根文件夹中所有文件的占位符。

以下是一个示例模板: https://github.com/clippings/package-template/

提示

所有提示都试图猜测一个合理的默认值,但会要求用户确认/纠正其值。

author_email

作者的电子邮件,默认使用 git config user.email。你可以使用 git config user.email {my email} 或全局使用 git config --global user.email {my email} 自定义它。如 第一次 git 设置 指南中所述

添加 {% author_email %} 模板变量

author_name

作者的名字,默认使用 git config user.name。你可以使用 git config user.name {my name} 或全局使用 git config --global user.name {my name} 自定义它。如 第一次 git 设置 指南中所述

添加 {% author_name %} 模板变量

bugs

提交新问题的 URL。默认获取仓库的 gitub 问题 URL。例如 https://github.com/clippings/composer-init/issues

添加 {% bugs %} 模板变量

版权

通过以下方式尝试猜测版权持有者:

  • GitHub 组织
  • GitHub 用户
  • Git 用户
  • 文件所有者

并以 "{year}, {copyright_entity}" 的形式公开 - 其中 year 是当前年份,而 copyright_entity 是猜测的值。您还可以单独获取 copyright_entity 的值

添加 {% copyright %} 模板变量
添加 {% copyright_entity %} 模板变量

描述

GitHub 仓库的描述。

添加 {% description %} 模板变量

包名

GitHub 包名,例如 clippings/composer-init

添加 {% package_name %} 模板变量

PHP 命名空间

尝试通过 GitHub 的组织/用户名和仓库名来猜测包名。因此,clippings/composer-init 将被转换为 Clippings\ComposerInit。它还尝试猜测带有首字母缩略词的名称,因此在这种情况下,它还会提供 CL\ComposerInit 的选项。这些可以通过制表符补全或自动完成时输入来循环

添加 {% php_namespace %}
添加 {% php_namespace_escaped %} 模板变量,其中所有 "\" 字符都被转换为 "\\"

Slack 通知

获取 "安全的 Slack 通知令牌"。基本上请求一个值并返回 "slack:\n secure: {value}\n",这样您就可以轻松地将 Slack 添加到 .travis.yml 通知中

标题

GitHub 仓库的标题。

添加 {% title %} 模板变量

致谢

灵感来源于 grunt-init

版权 (c) 2014-2015, Clippings Ltd。由 Ivan Kerin 作为 clippings.com 的一部分开发

在 BSD-3-Clause 许可下,请参阅 LICENSE 文件。