3ev / wordpress-starter
3ev的WordPress启动套件
Requires
- php: >=5.3.2
- 3ev/phingy: ~0.8
- 3ev/wordpress-starter-theme: ~0.1.3
- fancyguy/webroot-installer: ~1.1
- vlucas/phpdotenv: ~1.0
- wordpress: 4.0
- wp-cli/wp-cli: ~0.17
This package is not auto-updated.
Last update: 2024-09-28 16:25:52 UTC
README
现代WordPress环境
这是我们在3ev使用的WordPress基础环境。它大量借鉴了优秀项目Bedrock项目中的许多想法。
包含内容:
工具和设置
- 使用Composer进行依赖管理
- 使用Phpdotenv进行配置管理
- 现代文件夹结构
- WP CLI命令行工具
- 使用Wordpress Core进行现代插件和主题开发
- 使用Gulp、Sass和Browserify进行前端工作流程
- Phingy用于构建脚本和数据库管理
WordPress插件
要求
- PHP
>=5.5.9
- Composer
- Node.js
- 如果你想要使用Capistrano部署,需要Ruby/Rubygems/Bundler
安装
$ composer create-project 3ev/wordpress-starter -s dev
$ cd wordpress-starter/
$ bin/init
这将安装依赖项,提示你进行任何配置,编译资产,安装WordPress并在Apache上启动你的站点。
从现有站点构建
一旦你设置好WordPress站点,你可以轻松地为开发或生产创建新的构建。首先,使用以下命令导出数据库
$ bin/phing db:structure:dump
$ bin/phing db:data:dump
并将文件推送到S3以分发文件,然后所有开发者只需执行以下操作即可获取站点的有效副本。
$ git clone git@github.com:you/your-wordpress.git my-wordpress-site/
$ cd my-wordpress-site/
$ bin/build
来获取站点的有效副本。
前端工作流程
WordPress Starter附带一个主题,"3ev Starter WordPress 主题"(public/app/themes/starter/
),可以直接使用。
此主题包括以下内容
- Bootstrap
v4-alpha-2
(通过NPM) - jQuery
v2.2.2
(通过CDN) - Modernzir
v3
带有触摸检测和mq
API(包含在本存储库中)
尽可能使用NPM安装前端包。它们与Browserify捆绑在一起,并且你可以使用Browserify Shim(在public/app/themes/starter/assets/js/shim.js
中配置)来捆绑任何不兼容的库。
WordPress Starter包括一些Gulp任务,可以轻松编译你的资产。这些任务在本地构建或使用Capistrano部署时自动运行。
# Compile JS from `public/app/themes/starter/assets/js/main.js`
$ node_modules/.bin/gulp build:js
# Compile Sass from `public/app/themes/starter/assets/css/main.sass`
$ node_modules/.bin/gulp build:css
你还可以编译所有资产或在开发期间监视更改 - 只需使用gulp -T
查看所有可用任务。
使用Capistrano部署
Capistrano已经配置并准备就绪,以便尽可能简单地进行部署。首先运行
$ bundle install
。
接下来,按照指南在 https://capistrano.ruby-lang.org.cn/ 设置部署用户和初始目录。然后,修改 config/deploy.rb
文件中的 :application
和 :repo_url
设置,并在 config/deploy/
目录下创建一个阶段文件(production.rb
文件已提供作为示例,您可以从中开始)。
之后,您可以使用单个命令部署您的网站。
$ bundle exec cap [stage] deploy
注意:第一次部署后,您需要单独设置数据库。
部署不同的分支
默认情况下,您的 master
分支将被部署,但您可以通过设置 BRANCH
环境变量来部署不同的分支进行测试,例如:
$ BRANCH=cool-new-feature bundle exec cap [stage] deploy
许可证
MIT © 3ev