windows環境のjekyllで日本語を使うのに行った設定
なんか巷に本ページほどではないにしろパッと見、雑なブログをよく見かけるようになり、調べてみると皆さんjekyllというのを使っているようだ。簡単に言うと静的にwebサイトを作製するための変換プログラムなのだがそのほかのツール(githubなど)との組み合わせが便利なのか、意外と受けているようだ。 新し物好きとしては一度は使ってみたくなるわけだが、こんな場合クライアント機のwindowsしか使ったことのないものにとって毎度のようにおこるのが、Linuxの方言へのすり合わせである。(cygwin導入にはどうも抵抗があるし…) 今回も、はまったので忘れないうちにメモっておく。
使用したのは
- windows 7 64bit
- Ruby 1.9.3
windows環境ではデフォルトの文字コードががs-jisのためrubyで処理しようとすると 所々でエラーが出る。 たとえば
- LiquidはUTF-8で処理をしている(らしい)。
- HTML本文を処理するのにs-jisがデフォルト(っぽい)
ことから衝突しそうなのはまぁわからないでもない。
そこでUTF-8を基本に処理をしてもらう。(Liquidまで踏み込む気はありません) 抑えておくべきこととしてRubyの文字コード処理は読み込むファイルの先頭の行で指定できる。 すなわち、1行目に
- ”#!C:/Ruby193/bin/ruby.exe”
など実行ファイルの所在を指定するがそれに
- ”#!C:/Ruby193/bin/ruby.exe -Ku”
とオプション-Ku指定することでUTF-8を使うように設定できる。
これを踏まえてjekyllで使いそうなファイルの行頭を
- ”#!C:/Ruby193/bin/ruby.exe -Ku”
に置き換える。(”C:/Ruby193/bin/”この部分は適宜ご使用の環境に合わせて変更してください) とりあえずbinフォルダー直下の
- jekyll
- rdiscount
- maruku (rdiscount、marukuに関しては使用している方を変更)
- gem
の行頭を変えてみた。
あと、間違えやすい点としてファイルの保存形式としてUTF-8で保存する場合はBOM無しにすること。 TeraPadをお使いの方は文字/改行コード指定保存にて
- UTF-8N
を指定。改行コードはUNIX系にあわせてLFにしておくといいかも。 結果は本ページのとおり。ソースmdはここ
この記事の執筆に当たっては
を参考にさせていただきました。感謝。