v1.0.4をリリースしました

Amethyst のバージョン1.0.3から1.0.4にアップデートしました。今までリリース情報は書いていなかったのですが、これから可能な限り書き溜めていこうと思います。マイナーアップデートなので細かなバグ修正が多いです。

レビュワーがつきました

2ヶ月前くらいにテーマを WordPress.org のテーマディレクトリにアップロードして、ついに担当のレビュワーがつきました。私は poena さんという方にテーマをチェックしてもらっています。

アップロードされたテーマは、担当のレビュワーがついて WordPress.org のテーマガイドラインに反していないかなどをチェックしてもらいます。レビュワーとのやりとりはテーマごとにチケットが発行され、themes.trac.wordpress.org 上にて公開されているので、見ようと思えば誰でも見られる状態になっています。私のテーマはこちらでやりとりを見ることができます。

レビュワーとのやり取りを繰り返したのち、承認されると、今度はキーレビュワーの最終チェックが入ります。キーレビュワーはテーマディレクトリにテーマを掲載するかどうかを判断する権限を持っている人です。なのでたとえ承認されたとしても、キーレビュワーから OK をもらえない限りはテーマディレクトリに公開されません。キーレビュワーから承認されれば、テーマディレクトリ掲載され、晴れて「公式テーマ」になるわけですね。

リリースログ

今回は poena さんからもらったフィードバックも含まれています。

  1. 先頭固定の記事に “featured” のタグを付与 (未翻訳)
  2. エディター部分 ( the_content() の箇所) の <code><pre> タグのスタイルを修正
  3. 個別投稿記事で余白がなくなるバグを修正
  4. 不要な画像サイズの記述を削除
  5. 不要な JavaScript ファイルを削除
  6. フッターにコピーライト表記とテーマのクレジット表記を追加
  7. サイドバーの description (説明箇所) を翻訳可能に
  8. 検索フォームの placeholder テキストをエスケープに

配布用テーマのビルドのバグを修正

開発版のテーマでは、必要なファイルだけを zip 化する配布用のビルドタスクをサポートしています。ところが必要なファイルがちゃんと含まれておらず、gulp-zip では解決方法がわからなかったため shell スクリプトに変更しました。shell スクリプトもよくわかっていないので結局人に助けてもらったんですけどね。

src/shell/zip.sh に以下のシェルスクリプトを記述します。

#!/bin/bash

function build_amethyst() {
  mkdir amethyst
  cp -rpf assets amethyst/
  cp -rpf languages amethyst/
  cp -rpf inc amethyst/
  cp -rpf template-parts amethyst/
  mkdir amethyst/src
  cp -rpf src/scss amethyst/src/
  cp -rpf src/js amethyst/src/
  cp *.php amethyst/
  cp screenshot.png amethyst/
  cp *.txt amethyst/
  cp style.css amethyst/
  zip amethyst.zip -r amethyst -x "*.DS_Store"
  rm -rf amethyst
  return
}
if [[ -f amethyst.zip ]]
then
  rm -rf amethyst.zip
fi
build_amethyst

ざっくり説明すると、配布用に amethyst というフォルダを作り、その中に必要なテーマファイルだけをコピーして圧縮するというものです。Mac では Finder でファイルを開くと必ず .DS_Store が生成されてしまい、テーマをテーマディレクトリにアップするとはねられてしまいます。$ zip amethyst.zip -r amethyst -x "*.DS_Store".DS_Store を除外して zip 化するようにしました。

あとは gulpfile.js に下記のように記述すれば OK です。

gulp.task('zip:amethyst', function() {
  return gulp.src('src/shell/', {read: false})
    .pipe($.shell(['bash src/shell/zip.sh']));
});

テーマと直接関係ないバグの修正の説明になってしまいましたが、これでビルドがうまくいくようになりました。

テーマのソースコードをみる