環境
- Windows8 64bit
- Ruby Ver.1.9.3
- Jekyll Ver.1.4.2
アップグレード内容確認する
Jekyll公式サイト内のUpgradingのページからアップグレードの内容を確認します。大雑把には以下。
- serveとwatchが同時にできるようになったよ
- permalinkの仕様変わって
absolute linkとrelative linkっていうのになったよ - draft使えるようになったよ(これは前からあったような・・)
custom config file使えるようになったから、コマンドラインのオプションのいくつかはもう要らないよ
アップグレードしてみる
$ gem update jekyll特に何事もなく終了。
$ jekyll -v
jekyll 2.3.0ふむ。
試しに立ち上げてみる
$ jekyll serve --draftsWarning出ました。
Build Warning: Layout 'nil' requested in sitemap.xml does not exist.
done.
Auto-regeneration: disabled. Use --watch to enable.sitemap.xmlでnilってテンプレート呼んでるけどそんなのないよ、と。今まではテンプレートでnilを指定すると、それは’'’テンプレートを利用しない’'’設定だったのですが、仕様変わったんですね。調べてみたらnilじゃなくて#でいけるよ、ということなのでsitemap.xmlのlayoutをlayout: #に変更で無事に通りました。
watch付で立ち上げなおしてみる
v2.0からjekyll serveに--watchオプションを付与できるそうなのでそちらを利用してみます。
$ jekyll serve --watch --drafts
Configuration file: C:/----------/wwld.jp/_config.yml
Source: C:/----------/wwld.jp
Destination: C:/----------/wwld.jp/_site
Generating...
done.
$上手くいきません。--traceでエラーを見ようかと思いましたが、特にエラーは出てない。ちょっと調べたら以下のページがヒット。
Github : “–watch is not watching for changes”
そこでparkrがbundle exec jekyll serve --watchをやってみてとあったので実行します。parkrありがとう。
$ bundle exec jekyll serve --watch
(省略)
Please add the following to your Gemfile to avoid polling for changes:
require 'rbconfig'
if RbConfig::CONFIG['target_os'] =~ /mswin|mingw|cygwin/i
gem 'wdm', '>= 0.1.0'
end
(省略)Gemfileにwdm入れてねって言っているあたり、これが足りないかもなぁと。wdmはWindosのディレクトリをモニタリングするGemです。よくよく考えたらJekyllはWindowsをサポートしていない、こういった事態もあるか。と思いながら調べてたら、公式サイトに以下のページが。
なんだ、ちゃんと解説ページ作ってくれてたんですね。嬉しい限りです。 で、曰く「Jekyll running on Windowsにまとまっているよ、との事。たらい回し。
読む限り、このサイトにもwdmインストールするように指示があったので間違いなさそうです。
$ gem install wdm特に問題なくインストール成功。
さてjekyll serve --watchしてみます。
$ jekyll serve --watch --draftsでもダメ・・。うーん、仕方ないので(上手くいくか解りませんが)Rubyのバージョンをあげてみます(続く)。
ちなみに
今までどうやってJekyll使ってたの?という疑問が湧くかもしれませんので念のため書き添えておくと、JekyllのbuildはGruntからやっていました。
Grunt watchからjekyll buildのコマンドを叩く感じです。詳細は以下でご確認ください。