wp-forge/wp-cli-forge-command

WordPress 的零配置脚手架工具。

1.0.2 2022-01-06 15:26 UTC

This package is auto-updated.

Last update: 2024-09-06 23:25:46 UTC


README

WordPress 零配置脚手架工具,作为 WP-CLI 包构建。

安装

  1. 安装 WP-CLI

  2. 安装此 WP-CLI 包

wp package install wp-forge/wp-cli-forge-command

用法

从项目根目录运行 init 命令以设置项目级别的配置文件。
技术上,此步骤是可选的。然而,这有助于在运行 make 命令时消除一些提示。

wp forge init

运行 make 命令以搭建新的实体,例如插件、主题等。

wp forge make <name>

高级用法

克隆包含 搭建模板 的 Git 仓库,以便它们可以本地供工具使用。

wp forge clone <repository_url>

在克隆仓库时,您可以可选地提供一个名称。这允许您利用来自不同来源的多个包含搭建模板的仓库。如果您没有设置名称,系统将自动使用“默认”名称。

wp forge clone <repository_url> --as=<name>

要使用命名仓库中的模板进行搭建,只需在实体名称前加上您的自定义命名空间。

例如,如果您将名称设置为 company,并且您想搭建一个 wp-plugin,那么您将运行此命令

wp forge make company:wp-plugin

这将确保包含 company 模板的仓库将检查 wp-plugin 的搭建。如果在请求的命名空间下找不到请求的模板,并且您已配置多个模板来源,则工具将询问您是否要检查其他模板来源。

您还可以使用路径来利用嵌套在其他文件夹中的模板。

wp forge make company:github-actions/lint-php

上面的命令将查找 ~/.wp-cli/templates/company 文件夹中的 github-actions/lint-php 目录下的模板。

文档

所有命令都由工具自身进行文档说明。只需输入一个可用的命令,然后加上 --help 标志即可获取更多详细信息。

获取有关可用命令的高级文档

wp forge --help

获取特定命令的文档

wp forge config --help

搭建模板

为了使用此工具,您必须首先拥有一个 Git 仓库,您将在其中托管您的搭建模板。

让我们开始吧!

步骤 1: 创建一个 新的 Git 仓库

步骤 2: 在仓库中为每个您想要搭建的东西创建一个文件夹。文件夹的名称是您将用于 make 命令的名称。

您可能想要搭建的一些内容的示例

  • WordPress 插件
  • WordPress 主题
  • WordPress 网站
  • 自定义帖子类型
  • GitHub 动作
  • 您经常使用的其他自定义代码

步骤 3: 确保在模板文件夹中有一个 config.json 文件。这将告诉 CLI 如何处理您的模板。

配置示例

一个简单的 config.json 文件可能看起来像这样

{
  "directives": [
    {
      "action": "copy",
      "from": "lint-php.yml",
      "to": ".github/workflows/lint-php.yml",
      "relativeTo": "projectRoot"
    }
  ]
}

这会将模板文件夹中的lint-php.yml文件复制到项目根目录相对的.github/workflows/lint-php.yml文件中。您可以提供多个复制指令,不仅复制文件,还可以复制整个目录。如果希望路径相对于CLI工具运行的当前目录,则只需省略relativeTo属性或将其值设置为workingDir

通常情况下,您可能希望替换模板中的占位符。为了实现这一点,您必须首先从用户那里收集所需的信息。

您可以在CLI中添加一个prompts部分来触发这些数据请求。

{
  "prompts": [
    {
      "message": "What is your first name?",
      "name": "first_name",
      "type": "input"
    },
    {
      "message": "What country are you in?",
      "name": "country",
      "type": "input",
      "default": "United States"
    },
    {
      "message": "What is your favorite ice cream?",
      "name": "ice_cream",
      "type": "radio",
      "options": [
        "Chocolate",
        "Vanilla",
        "Strawberry"
      ]
    },
    {
      "message": "Select one or more taxonomies",
      "name": "taxonomies",
      "type": "checkboxes",
      "options": [
        "Categories",
        "Tags"
      ]
    }
  ]
}

定义了这些提示后,现在您可以使用name字段作为任何模板文件中的Mustache占位符。您还可以在模板中引用项目配置文件中任何属性的名称,而无需提示用户。

您可以使用runCommand指令和其他模板通过调用make命令来利用模板。

{
  "directives": [
    {
      "action": "runCommand",
      "command": "wp forge make github-actions/lint-js"
    },
    {
      "action": "runCommand",
      "command": "wp forge make github-actions/lint-php"
    },
    {
      "action": "runCommand",
      "command": "wp forge make github-actions/lint-yml"
    }
  ]
}