Jekyll on Windows

ほんとに苦労したので。しかもこの記事をまとめるために、いったんuninstallしました…

Run Jekyll on Windowsが詳しい。
実はこのメモページは要らないのでは? でも記録用として残しておく。

Jekyll参照リンク

Ruby & DevKitを導入

Ruby InstallerからRuby+Devkit xx.xx.xをダウンロード。

Jekyllをインストール

$ gem install jekyll

これまた大量にインストールされていきますなぁ…(←他人事)

Bundler

$ gem install bundler

Jekyll起動

Gemfileを弄ったあとは

$ bundle update

でもってやっと起動。

$ jekyll s

Invalid Windows-31J character

$ jekyll s
Configuration file: xxxxx.github.io/_config.yml
            Source: xxxxx.github.io
       Destination: xxxxx.github.io/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
  Conversion error: Jekyll::Converters::Scss encountered an error while converting 'assets/css/main.scss':
                    Invalid Windows-31J character "\xE2" on line 6
jekyll 3.7.4 | Error:  Invalid Windows-31J character "\xE2" on line 6

Invalid Windows-31J character "\xE2"的なエラーは、ファイルにUTF-8な文字が入っているからだそうな。
ユーザ環境変数RUBYOPT--encoding=UTF-8を設定する。
Ruby2.5.xインストール時に指定しておけば-Eutf-8が設定されてたり。

前はjekyll sで動かしている時にファイルを修正したら自動的に再作成されてた。
いつの間にかできなくなってる。
jekyll s --watchもダメ。
対処法として見つかったのが、Rubyのバージョンアップ。
2.4.xから2.5.xに上げたらjekyll sだけで再作成されるように。
→ファイルによって効いたり効いてなかったり? 違いと対処方法は?

Unresolved specs during

$ jekyll s
WARN: Unresolved specs during Gem::Specifiation.reset:
      rouge (< 3, >= 1.7)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.

というのがでてきたら、

$ gem uninstall rouge

で不要なversionのをuninstallして、

$ gem update && gem cleanup

とすれば片付けてくれる、のかな?

時々↓とかしてあげないと、変な動作になっちゃってたり。

$ rm Gemfile.lock
$ bundle clean --force

Invalid theme folder

動作に関係ないけど、なんか気になる…

$ jekyll s
Configuration file: (ローカルのディレクトリ)/_config.yml
            Source: (ローカルのディレクトリ/(リポジトリ名).github.io
       Destination: (ローカルのディレクトリ/(リポジトリ名).github.io/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
Invalid theme folder: _data
       Jekyll Feed: Generating feed for posts
                    done in 23.828 seconds.
 Auto-regeneration: enabled for '(local GitHub folder)/(repository name).github.io'
    Server address: http://127.0.0.1:4000
  Server running... press ctrl-c to stop.

Gemfileからjekyll-dataの1行をコメントアウト。

# gem 'jekyll-data'

そしておまじないを。

$ bundle update
$ bundle clean --force

これで警告なしで起動するように。