昨日までブログの記事の日付がおかしくなってたので修正した。2017年2月以前の記事がすべて2017年2月のある日付でポストされたことになるという症状 :scream:
カテゴリを導入する前はYearのメニューを作ってたけど、2016年の記事が空になってたので気づけた。

原因はWercker上でgit cloneするときの--depth 50だった。

このブログはesaで編集した記事をWebhookでGitにプッシュしてWercker上でMiddlemanによってHTMLを生成してGitHub Pagesにデプロイしている。1
この組み合わせだと記事のタイムスタンプと公開した時間が一致しない場合があった。そのため、Gitのコミットから公開日時を取得するという方法をとっていた。2

しかし、Werckerでgit cloneするとき--depth 50が指定されていたため、50コミットより前に公開された記事の正確な公開日時が取得できずにバグっていた。

--depthをこちらで指定する方法が見つからなかったのでwercker.yml

  • --depth 50で取得したレポジトリを削除
  • 同じディレクトリに--depth指定なしでgit clone

とすることで過去すべての履歴を取得して解決した。

esaとMiddlemanの組み合わせでだんだんつらみがでてきたなぁ :disappointed:
Middlemanをやめるか、、、esaで対応してくれないかなぁ。