As you may have read, recently GitHub Pages updated the version of Jekyll they run to 3.0.
With that, there’s a number of features they mention as requiring some manual intervention. Right at the bottom of the GitHub post, there’s a link to the Jekyll Upgrade Guide.
One of the features mentioned in this document is the --future
flag. This is a feature that was previously true
by default, but now is false
by default.
What this feature does is allow future-dating of posts: you can write something and it will be in your git repo, but not be published until you build after the post date.
Which means that if I write and test a new post locally this is fine, but if I push it to GitHub, it may not appear. I wrote a quick post yesterday at around 8am my time, and it didn’t appear on GitHub.
Yesterday was Feb 29. So, I assumed (spoiler: incorrectly) that this was a leap year bug.
What actually happened is I blogged in the morning.
Turns out since being forced to use Jekyll 3, this was the first time I had posted so early as to appear as though I was future-dating content, which by default is now not displayed. And GitHub Pages runs on Pacific time (UTC-08:00). I’m current on UTC+11:00. Can you see the problem?
According to GitHub, I’m posting from the future!
Now, the fix for this is as follows: add this to your config.yml
timezone: Australia/Sydney
.. replacing timezone
with a value as defined by tzdata.
To enable future-posting, set:
future: true
But, because this issue just happened to be encountered on Feb 29, it was assumed to be a Leap Year bug. I wasn’t the only one to think this. This is just another example of bias being attributed to a misdiagnosis of a problem.