Jeykyll 3.0 beta1が1月に出てから、その後音沙汰がなかった我らがJekyll 3.0が、とうとう正式にリリースされました。何はともあれ開発者の皆様にお礼を申し上げます。
beta1が出た直後はちょくちょく[公式サイトのお知らせページ][http://jekyllrb.com/news/]をチェックをしていたのですが、しばらく動きがないうちにすっかり忘れちゃってました(笑)。先日OS XをYosemiteからEl Capitanにアップグレードしたついでに、brewやrbenv、ruby、gem等を最新のものに更新していて、偶然気がついた次第です。
jekyll s
を実行して早速様子を見てみると以下ようなワーニングメッセージが出ました。メジャーバージョンが上がっていますので、さすがに変更無しではうまく動作しない部分があるようです。
Liquid error: undefined method `safe’ for nil:NilClass
Liquid error: undefined method `safe’ for nil:NilClass
どうやらコア部分をよりコンパクトにするためにpaginate機能が外だしになったようで、これはエラーメッセージに書かれている通りに_config.ymlにgmes: [jekyll-paginate
行を追加すればすぐに解決します。
Liquid error: undefined method `safe’ for nil:NilClass
二つ目は自作したプラグインで発生していて、エラーが発生している箇所はいずれも「site.posts」を参照している部分でした。これもメッセージのアドバイス通り以下のように修正すれば解決しました。
Liquid error: undefined method `safe’ for nil:NilClass
これも同様にプラグイン内部で発生していたもので、同じくsite.postsに起因していました。格納されているデータがハッシュに変更されたようで、こちらもメッセージ通りに修正することでエラーが出なくなりました。とりあえずサイトが再びビルド出来るようになったので一安心です。3.0になってどう良くなったのかはまだ理解出来ていませんが、何か分かったらまた記事にしたいと思います。
最後に何かの参考なるかもしれないので、diffを貼っときます。
Liquid error: undefined method `safe’ for nil:NilClass