feryardiant / wpdev
基于 Roots Bedrock 的 WordPress 烧录模板。
Requires
- php: >=7.1
- ext-exif: *
- ext-gd: *
- ext-imagick: *
- ext-redis: *
- composer/installers: ^1.8
- humanmade/s3-uploads: ^2.1
- oscarotero/env: ^1.2
- rhubarbgroup/redis-cache: ^1.6
- roots/bedrock-autoloader: ^1.0
- roots/wordpress: ^5.4
- roots/wp-config: ^1.0
- roots/wp-password-bcrypt: ^1.0
- vlucas/phpdotenv: ^4.1
- wpackagist-plugin/contact-form-7: ^5.1
- wpackagist-plugin/regenerate-thumbnails: ^3.1
- wpackagist-plugin/wordpress-importer: ^0.7
- wpdev/blank-child: *
Requires (Dev)
- 10up/wp_mock: ^0.4.2
- aaemnnosttv/wp-cli-dotenv-command: ^2.0
- dealerdirect/phpcodesniffer-composer-installer: ^0.6
- phpcompatibility/phpcompatibility-wp: ^2.1
- phpunit/phpunit: ^7.5
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^3.4
- wp-cli/core-command: ^2.0
- wp-cli/import-command: ^2.0
- wp-coding-standards/wpcs: ^2.1
- wpackagist-plugin/query-monitor: ^3.5
- wpackagist-plugin/theme-check: 20190801.1
Suggests
- ext-bcmath: *
- ext-gettext: *
- ext-mbstring: *
- dev-master
- v0.2.9
- v0.2.8
- v0.2.7-patch
- v0.2.6-patch
- 0.2.5
- 0.2.4-patch.1
- 0.2.4-patch.0
- 0.2.4
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.1-alpha.2
- 0.1.1-alpha.1
- v0.1.0
- dev-dependabot/npm_and_yarn/babel/preset-env-7.25.4
- dev-dependabot/npm_and_yarn/wdio/browserstack-service-7.38.0
- dev-dependabot/composer/wpackagist-plugin/contact-form-7-5.9.8
This package is auto-updated.
Last update: 2024-09-11 09:03:46 UTC
README
此项目旨在为 WordPress 开发和部署到 heroku 提供完整解决方案,尽管它尚未完成。😬
受Phillip Heuer的wordpress-heroku和基于Bedrock的相同模板的启发,此项目将在开发自己的 WordPress 主题和插件时提供更好的体验,这些主题和插件可以轻松部署到 heroku。
功能
- 集成单元和端到端测试
- 自定义 heroku buildpack
- 自动生成变更日志
- 更好的资源编译
- 轻松创建可分发到 WordPress 主题或插件目录的存档
- 有什么想法?告诉我 😁
要求
最好在你的系统上全局安装 WP-CLI 安装。有关数据库和 HTTP 服务器的要求,请参阅此文档。
安装
1. 一键部署
使用此按钮可以部署新的 WordPress 实例。所有必需的扩展程序将自动部署。如果您将您自己的项目分支出来以在您的站点上工作,这也适用。
2. 使用 composer create-project
命令
$ composer create-project feryardiant/wpdev [project-folder]
通过 PHPMyAdmin 或 CLI 创建新数据库
$ mysql -u[username] -p -e 'create database <database-name>'
将您的 .env
文件配置为适合您本地的设置,描述在这里,也不要忘记在 wp-cli.local.yml
文件中将 url
键设置好。完成设置后,请使用以下命令安装 WordPress 核心程序
# Please consult to the official documentation for additional option you might needed for the setup # See: https://developer.wordpress.org/cli/commands/core/install/ $ vendor/bin/wp core install # Or you can simply run the following sortcut $ composer wp:install
请确保将您的 HTTP 服务器的 document root
配置为 public
目录。
开发
我在此项目中几乎使用 gulp
进行所有开发工作流程,而不仅仅是编译 scss
文件、最小化图像和压缩 js
,还包括运行开发服务器。完成上述安装过程后,请使用 yarn
安装开发依赖项。
$ yarn
要启动开发服务器,可以简单地运行以下命令
# yarn global add glup-cli or npm -g install gulp-cli, in case you don't have one
$ gulp
gulp 默认任务将启动 PHP 开发服务器、在端口 3000
上启动 BrowserSync 并监视您所做的更改。这样,您只需打开您的网络浏览器,在地址栏中键入 http://localhost:3000
,然后在您喜欢的代码编辑器或 IDE 中打开项目并开始工作。
您所做的所有更改都将自动进行代码检查和编译,完成后 BrowserSync 会自动重新加载浏览器。
工作流程
由于此项目基于 Bedrock,因此项目目录结构非常相似,但有一些调整。
目录结构和Gulp任务
- bin 目录:仅包含所有 构建包可执行文件,在您已克隆此项目或在本地上安装后,可随意删除此目录。
- config 目录:包含所有构建实用程序和配置文件,包括您将在所有环境中使用的所有脚本。
- public 目录:服务器文档根目录。
- packages 目录:您的项目主题和插件开发目录。
- tests 目录:测试目录,显而易见。
├── bin
├── config
│ ├── environments
│ └── heroku
├── public
│ ├── app
│ └── wp
├── packages
├── resources
└── tests
├── e2e
├── stubs
└── unit
gulp
脚本将自动扫描 plugins
和 themes
目录下的任何子目录,并在子目录符合以下结构时生成所有必需的 gulp
任务。
<dirname>
├── assets
│ ├── img
│ ├── js
│ └── scss
└── languages
在 plugins
或 themes
目录内创建上述 <dirname>
后,您将看到以下类似的 gulp 任务。
$ gulp -T
├── theme-plugin:php
├── theme-plugin:zip
├─┬ theme-plugin:build
│ └─┬ <parallel>
│ └── theme-plugin:php
├── theme:php
├── theme:img
├── theme:css
├── theme:js
├── theme:zip
├─┬ theme:build
│ └─┬ <parallel>
│ ├── theme:css
│ ├── theme:img
│ ├── theme:js
│ └── theme:php
├── theme-child:php
├── theme-child:zip
├─┬ theme-child:build
│ └─┬ <parallel>
│ └── theme-child:php
├─┬ zip
│ └─┬ <series>
│ ├── theme-plugin:zip
│ ├── theme:zip
│ └── theme-child:zip
├─┬ build
│ └─┬ <parallel>
│ ├── theme-child:php
│ ├── theme-plugin:php
│ ├── theme:css
│ ├── theme:img
│ ├── theme:js
│ └── theme:php
├── e2e
├── release
└── default
注意
<dirname>:build
任务将执行<dirname>
命名空间下的所有任务,除了<dirname>:zip
任务。- 每个
*:css
、*:img
和*:js
只在您在assets
目录下有img
、js
和scss
目录时才可用。 build
任务将组合每个命名空间上的所有*:build
任务。zip
任务将组合每个命名空间上的所有*:zip
任务。release
任务将运行build
任务,生成CHANGELOG.md
,运行zip
任务,并提升此项目的版本号。
赞助商
致谢
- WordPress - GPLv2 许可证
- Bedrock - MIT 许可证
- Underscores - GPLv2 许可证
- Bulma - MIT 许可证
- Gulp 及其插件
- BrowserSync
许可证
(c) 2019 Fery Wardiyanto - MIT 许可证。