140422 投稿日時のタイムゾーンがGMTになる問題を解決 [Jekyll]
これまで、postに入れたmarkdown原稿ファイルのdateとJekyllで生成されるdateが食い違う問題が起きていた。
具体的には、こんな記事があったとする。
layout: post
date: 2014-04-04T05:54:45+09:00
title: "FIDUE A63 イヤホンが届く"
categories: [diary
tags:
- サウンド
- 音楽
これをJekyllでbuildすると、post.dateがグリニッジ標準時(GMT)の2014-04-03T20:54:45+00:00
になってしまい、私のHTMLテンプレートでは2014-04-03 20:54:45
というように日本時間と日付が1日ずれてしまう。RSSのdateには時差情報が含まれているのでRSSリーダーで補正されて投稿日時が正しく表示されるのだが、HTMLテンプレートでLiquidのdateフィルターを通すと時差情報を反映しないまま数字だけが取り出されるので、日本時間で午前9時までに投稿した記事は表示上は前日のものになってしまう。
Jekyll 1.5.1でこの不具合が直ったよー、という情報があったんだけど、私の環境では症状が残ったまま。
ところが今日、_config.ymlから次の1行を削除してみたらあっさり改善された。
timezone: Asia/Tokyo
config.ymlの説明ページにtimezoneの記述があったから入れておいた方がいいのかと思っていたのに、まさかこれが悪さをしていたとは。とにかく、不具合改善の情報がなければ直すのを諦めていたので、情報の提供者に感謝m(_ _)m
参考ページ
- Rubénerd: Jekyll 1.5.1 likes my timezones again (2014/04/05)
- http://rubenerd.com/jekyll-likes-my-timezones-again/
Dear Ruben Schade and Jekyll team, Thank you for posting information about the timezone bug.