WindowsでJekyllを使う

WindowsでMarkdwon環境を整える

  • 自分は普段Macをメインに使っているので、Markdownエディタとしてkobitoを使いつつ、基本的にはvimで書いてlocalのJekyllでプレビューしてます。
  • 仕事的には共同作業が必要なのでWindows7でもjekyllを入れます。

さっそくつまづいた

  • chocolateyインストール→chocolateyでrubyインストール→gemでbundlerインストール→リポジトリをチェックアウト→bundle installjekyll buildで行けるだろうと思ったのですが、久しぶりにWinodwsでruby使ってみたらなんか前と違ってた。
  • 以下の手順でやろうとしたらbundle installでエラーが発生。
  • chocolateyをインストール
C:\Users\foo> @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
  • chocolateyでrubyをインストール
C:\Users\foo>cinst ruby
  • gemでbundlerをインストール
C:\Users\foo>gem install bundler
  • SourceTreeでリポジトリをチェックアウト
  • Gemfile, Gemfile.lockが置いてあるディレクトリでjekyllをインストール
C:\Users\foo>bundle install
  • ここで、DevKitをインストールしろとかいうエラーが出る。
    • DevKitってなんだ?初めて聞いた。
      • どうやらWindowsではDevKitというのでコンパイルが必要なNativeライブラリの依存関係を解決するらしい。
      • chocolateyだとruby.devkitとruby2.devkitというのがあってruby.devkitは1.9系のものらしいのでruby2.devkitを入れる
C:\Users\foo>cinst ruby2.devkit
  • しかしこれでもさらにエラーが出る。
    • どうやらDevKitにrubyのパスを教えて上げる必要があるようだ。
      • config.ymlにrubyのパスを記述して、DevKitのインストールを実施する。
c:\DevKit2>ruby dk.rb install
[INFO] Updating convenience notice gem override for 'C:/tools/ruby213'
[INFO] Installing 'C:/tools/ruby213/lib/ruby/site_ruby/devkit.rb'
  • これでbundle installが出来るようになった!
C:\Users\foo\Documents\site>gem install bundler
Fetching: bundler-1.7.4.gem (100%)
Successfully installed bundler-1.7.4
Parsing documentation for bundler-1.7.4
Installing ri documentation for bundler-1.7.4
Done installing documentation for bundler after 7 seconds
1 gem installed
 
C:\Users\foo\Documents\site>bundle install
DL is deprecated, please use Fiddle
Fetching gem metadata from http://rubygems.org/........
Resolving dependencies...
Installing blankslate 2.1.2.4
Installing hitimes 1.2.2
Installing timers 4.0.1
Installing celluloid 0.16.0
Installing fast-stemmer 1.0.2
Installing classifier-reborn 2.0.1
Installing coffee-script-source 1.8.0
Installing execjs 2.2.1
Installing coffee-script 2.3.0
Installing colorator 0.1
Installing ffi 1.9.5
Installing jekyll-coffeescript 1.0.1
Installing jekyll-gist 1.1.0
Installing jekyll-paginate 1.0.0
Installing sass 3.4.5
Installing jekyll-sass-converter 1.2.1
Installing rb-fsevent 0.9.4
Installing rb-inotify 0.9.5
Installing listen 2.7.11
Installing jekyll-watch 1.1.1
Installing kramdown 1.4.2
Installing liquid 2.6.1
Installing mercenary 0.3.4
Installing posix-spawn 0.3.9
Installing yajl-ruby 1.1.0
Installing pygments.rb 0.6.0
Installing redcarpet 3.1.2
Installing safe_yaml 1.0.4
Installing parslet 1.5.0
Installing toml 0.1.1
Installing jekyll 2.4.0
Installing rouge 1.6.2
Using bundler 1.7.4
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
  • やったね!

Jekyll起動

  • 単にビルドする。
C:\Users\foo\Documents\site\portal>jekyll build
  • 簡易サーバを上げて変更ファイルを監視する。
    • configファイルやレイアウトを変更した時は再起動しないと自動で読み込まない時があります。
C:\Users\foo\Documents\site\portal>jekyll serve --watch
  • デフォルトでは4000番ポートで上がるので、http://localhost:4000/で見えます。

おまけ

  • ブラウザをいちいちリロードするのがうざいので、gruntとかgulpを使ってブラウザのlivereloadをすると良いかと。