[WP Theme Dev] VCCW + Iemoto で WordPress theme を開発するためのワークフロー
カスタマイズした Iemoto でテーマ開発をまわすための最短手順を確認します。
[markdown]
## VCCW でテスト環境を構築する
VCCW を WP-CLI を利用してセットアップします。
> * [WP-CLI で VCCW 3 環境をかんたん構築する | deadwood](https://www.d-wood.com/blog/2017/03/14_8858.html)
`iemoto.dev` はディレクトリ名なので、プロジェクトに合わせます。
“`prettyprinted
% pwd ~/projects/sandbox-vccw
% wp scaffold vccw iemoto.dev –lang=ja
% cd iemoto.dev
“`
設定ファイルを用意します。
“`prettyprinted
% cp provision/default.yml site.yml
“`
設定ファイルの `hostname` を書き換えます。
必要に応じてその他の項目を書き換えます。
“`yaml:site.yml
hostname: iemoto.dev
ip: 192.168.33.10
lang: ja
“`
開発サーバ(VCCW)を起動します。
“`prettyprinted
% vagrant up
“`
### VCCW にアップデートがあった場合の対応
アップデートコマンドを実行します。
“`prettyprinted
% wp scaffold vccw iemoto.dev –update
Success: Updated. Run `vagrant up`.
“`
リロードとプロビジョニングをやり直します。
“`prettyprinted
% vagrant reload –provision
“`
## Iemoto を展開する
fork したリポジトリのうち、カスタマイズしたテンプレートがあるブランチを `git clone` します(初回のみ)。
> * [Iemoto で WordPress theme の作成を始めるまでの手順を確認する | deadwood](https://www.d-wood.com/blog/2017/05/16_8938.html)
“`prettyprinted
% cd ~/.grunt-init
% git clone -b feature/sass-lint git@github.com:DriftwoodJP/iemoto.git iemoto-sass
“`
テストサーバのテーマディレクトリにテンプレートを展開します。
“`prettyprinted
% mkdir wordpress/wp-content/themes/iemoto-sass
% cd wordpress/wp-content/themes/iemoto-sass
% grunt-init iemoto-sass
“`
パッケージをインストールします。
“`prettyprinted
% npm install
“`
### Iemoto にアップデートがあった場合の対応
[megumiteam/iemoto](https://github.com/megumiteam/iemoto) の master を `git merge` して、`~/.grunt-init` に設置したテンプレートをアップデートします。
megumiteam/iemoto のリモートブランチを追加します(初回のみ)。
“`prettyprinted
% git checkout master
% git remote add upstream git@github.com:megumiteam/iemoto.git
“`
アップデートを取得します。
差分を確認します。
“`prettyprinted
% git fetch upstream
% git diff upstream/master
“`
アップデートを merge します。
fork したリポジトリの master にも push しておきます。
“`prettyprinted
% git merge upstream/master
% git push origin master
“`
カスタマイズしたテンプレートがあるブランチにも merge します。
fork したリポジトリにも push しておきます。
“`prettyprinted
% git checkout feature/sass-lint
% git merge master
% git push origin feature/sass-lint
“`
## 開発を始める
`grunt` もしくは `grunt watch` タスクで開発を始めます。
“`prettyprinted
% grunt
“`
[/markdown]