合資会社 満福

アプリ

会社概要

連絡先

合資会社 満福ブログ

まんぷくブログのシステムをJekyll 3.0に移行

2015-11-13 21:00:00 +0900 - 土田岳雄

Jekyll 3.0が10月26日リリースされました。

Jeykyll 3.0 beta1が1月に出てから、その後音沙汰がなかった我らがJekyll 3.0が、とうとう正式にリリースされました。何はともあれ開発者の皆様にお礼を申し上げます。

beta1が出た直後はちょくちょく[公式サイトのお知らせページ][http://jekyllrb.com/news/]をチェックをしていたのですが、しばらく動きがないうちにすっかり忘れちゃってました(笑)。先日OS XをYosemiteからEl Capitanにアップグレードしたついでに、brewrbenvrubygem等を最新のものに更新していて、偶然気がついた次第です。

まずは変更せずに実行してみた

jekyll sを実行して早速様子を見てみると以下ようなワーニングメッセージが出ました。メジャーバージョンが上がっていますので、さすがに変更無しではうまく動作しない部分があるようです。

Liquid error: undefined method `safe’ for nil:NilClass

問題その一

Liquid error: undefined method `safe’ for nil:NilClass

どうやらコア部分をよりコンパクトにするためにpaginate機能が外だしになったようで、これはエラーメッセージに書かれている通りに_config.ymlにgmes: [jekyll-paginate行を追加すればすぐに解決します。

問題その2

Liquid error: undefined method `safe’ for nil:NilClass

二つ目は自作したプラグインで発生していて、エラーが発生している箇所はいずれも「site.posts」を参照している部分でした。これもメッセージのアドバイス通り以下のように修正すれば解決しました。

問題その3

Liquid error: undefined method `safe’ for nil:NilClass

これも同様にプラグイン内部で発生していたもので、同じくsite.postsに起因していました。格納されているデータがハッシュに変更されたようで、こちらもメッセージ通りに修正することでエラーが出なくなりました。とりあえずサイトが再びビルド出来るようになったので一安心です。3.0になってどう良くなったのかはまだ理解出来ていませんが、何か分かったらまた記事にしたいと思います。

最後に何かの参考なるかもしれないので、diffを貼っときます。

Liquid error: undefined method `safe’ for nil:NilClass