wp-forge / wp-cli-forge-command
WordPress 的零配置脚手架工具。
Requires
- wp-forge/wp-scaffolding-tool: ^1.1.1
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-06 23:25:46 UTC
README
WordPress 零配置脚手架工具,作为 WP-CLI 包构建。
安装
-
安装此 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"
}
]
}