Jekyll 1.4.2 にバージョンアップ

目次

Jekyll バージョンアップ

絶賛放置中の Jekyll を 0.12.0 から 1.4.2 にバージョンアップ。

$ sudo gem update jekyll
Updating installed gems
Nothing to update

あれ? Ruby のバージョンを変えたからかな?

$ sudo gem install jekyll
Fetching: liquid-2.5.4.gem (100%)
Successfully installed liquid-2.5.4
Fetching: fast-stemmer-1.0.2.gem (100%)
Building native extensions.  This could take a while...
Successfully installed fast-stemmer-1.0.2
Fetching: classifier-1.3.3.gem (100%)
Successfully installed classifier-1.3.3
...

できた。

$ jekyll --version
jekyll 1.4.2

コマンドライン引数が変わった

旧バージョンは、コマンドライン引数なしでサイトのジェネレートが実行されていたが、 いまのバージョンはサブコマンドの指定が必要になった。

サイトのジェネレートは build コマンド。

$ jekyll build

ローカルサーバの起動は serve コマンド。

$ jekyll serve

詳細は Upgrading を読めばわかるだろう。

プラグインに互換性の問題が

generate_archives.rb でエラーが発生した。

      Generating... /Library/Ruby/Gems/2.0.0/gems/jekyll-1.4.2/lib/jekyll/generators/pagination.rb:182:in `initialize': undefined method `config' for #<Hash:0x007ff2cb98a790> (NoMethodError)
	from /Users/toshiya240/Dropbox/dig-it/_plugins/generate_archives.rb:103:in `new'

Pager.new の引数が変わったようだ。 以下のように修正した。

-        pager = Pager.new(self.config, num_page, posts, pages)
+        pager = Pager.new(self, num_page, posts, pages)

あってるかな? ページングはタグやカテゴリをサポートしていないという以下の記述が気になるが、 現状では複数ページになるほどコンテンツがないので必要になったときに検証しようか。

Pagination does not support tags or categories

Pagination pages through every post in the posts variable regardless of variables defined in the YAML Front Matter of each. It does not currently allow paging over groups of posts linked by a common tag or category.

via Pagination

思ったよりバージョンアップによる影響が大きくなくてよかった。

s3sync で Amazon S3 と同期できなくなってしまった

s3sync のバージョンが上がったためか、同期できなくなってしまった。

以下のエラーとなる。

The bucket you are attempting to access must be addressed using the specified endpoint.

Tokyo リージョンなので、エンドポイントを明示する必要がある模様。

ところが、s3sync にはエンドポイントを指定するインターフェースが見当たらない。

仕方なく、ForkLift で同期しておいた。