jekyllをwercker上でbuildしているのですが、なぜか最新の投稿だけhtmlが生成されないことがありました。 その時の対応メモです。
##結論
結論から言うとwercker上のサーバーの時刻設定の問題でした。
デフォルトの時刻設定がUTCであるために、日本の時間よりも巻戻るんですよね。
そのため、buildする際に投稿ページで指定されている時間が未来時間になり、そのためにjekyllがページを生成し、ということでした。
うーん、jekyllは投稿の時間設定が未来になっているとページの生成対象とみなさないのですね。
妥当と言えば妥当なのですが、何もメッセージが出ないので現象がわからずハマりました・・。
##解決方法
Ubuntuの時刻設定をデフォルトのUTCからJSTに書き換えます。
werckre.ymlに以下のような時刻設定を追加してください。
これで日本の時間(JST)が適用されます。
当然ながら上記設定はjekyllの処理が走る前の位置に書いてください。
ntpを再設定という選択肢もありますが、こちらの方がお手軽で速いので良いと思います。
以上です。