mieki256's diary



2014/02/27(木) [n年前の日記]

#1 [ruby] Windows上でjekyllをインストール

某サイトのデザインを変更したいという話が来たのだけど。せっかくだから、この際サイト作成に便利なツールを導入できないものかと思い始めて。ただ、そのサイトは、cgiが動かせないサーバ上で公開されてるので、静的html生成機能が無いと困るわけで。てなわけで、以前からちょっと気になってた、jekyll を試用してみようかなと。

jekyllは、サイト作成ツール。以下の特長がある。
てなわけで、Windows7 x64 + _Ruby 2.0.0 p451 mingw32版 + Python 2.6.6 の環境で、以下の記事を参考にしてインストールしてみたり。

_Windows で Jekyll 1.3 を動かすまでの手順 - てっく煮ブログ
_Jekyll で Windows の UTF-8 - me-mo
_Fixing 'cannot load such file -- yajl' Windows 7 64bit, Rails, Ruby 2+
_Windows環境にJekyll 1.4を導入する(自家用メモ) - なか日記
_ruby - Jekyll - Error Running 'Jekyll Serve' - Stack Overflow
_Windows環境にjekyllをインストール | サイト運営の私的メモ

jekyllと、jekyllが要求するモジュール(?)は、以下でインストールできる。
gem install jekyll

ただし、pygments.rb 0.5.1 以降はWindows上で動作しないらしいので、ダウングレードする。
gem uninstall pygments.rb --version "=0.5.4"
gem install pygments.rb --version "=0.5.0"

UTF-8で書かれた文書を読み込ませるとエラーが出るときがあるらしいので、対策をする。Ruby 2.0.0インストールフォルダ\bin\jekyll.bat の2行目に、以下の一文を追加。
set RUBYOPT=-EUTF-8
「デフォルトの文字コードはUTF-8だよ」と指定しているらしい。

ただ、jekyllで作成したプロジェクトフォルダ(?)にファイルを置くことでも同様の指定できるらしくて。_plugins\utf-8.rb を作成して、以下の一行を記述。
Encoding.default_external = Encoding::UTF_8
こちらの指定でも問題が無いなら、環境を汚さなくて済むのでグッド、かもしれず。

pygments なる、Pythonモジュールをインストール。easy_install (setuptools?) が使える環境で以下を実行。
easy_install pygments

ここで一旦、テスト用のプロジェクトフォルダ? サイトの雛形? を作る。テキトーなフォルダを作って、そこをカレントフォルダにしてDOS窓を開いて、以下を入力。
> jekyll new jekyll-test
New jekyll site installed in C:/home/web/jk/jekyll-test.

> cd jekyll-test
この例では、jekyll-test というプロジェクトフォルダを作成してる。中には色々なファイルが作成される。

動作確認する。
> jekyll serve
しかし、エラーが出て動かないはず。

現時点では、yajl-ruby でエラーが出るようで。「yajlが見つからねえよ」とか「yajiがロードできねえよ」とか言われてしまう。色々試してみたけど、以下の指定でエラーが出なくなった。
gem install bundler
gem uninstall yajl-ruby
gem install yajl-ruby -v=1.1.0 --platform=ruby
現時点では yajl-ruby の 1.2.0 が最新版らしいけど、それでは動いてくれなかった。また、1.1.0 x86-mingw32 版もダメ。-v=1.1.0 --platform=ruby じゃないと動作しないらしい。

また、現在の jekyll 最新版は 1.4.3 だけど。それだと以下のようなエラーが出てしまう。
C:\home\web\jk\jekyll-test>jekyll serve
Configuration file: C:/home/web/jk/jekyll-test/_config.yml
            Source: C:/home/web/jk/jekyll-test
       Destination: C:/home/web/jk/jekyll-test/_site
      Generating... error: Invalid argument - C:/home/web/jk/jekyll-test/_site/C:. Use --trace to view backtrace
1.4.2 なら動くらしいので、ダウングレードする。
gem uninstall jekyll
gem install jekyll -v=1.4.2

Markdownパーサが誤動作する時もあるらしいので、パーサを kramdown に変更。デフォルトでは Maruku とやらを使うらしい。 *1
gem install kramdown
jekyllプロジェクトフォルダ\_config.yml を編集。以下の一行を最後に追加。
markdown: kramdown

今度こそ、動作確認。
> jekyll serve
Configuration file: C:/home/web/jk/jekyll-test/_config.yml
            Source: C:/home/web/jk/jekyll-test
       Destination: C:/home/web/jk/jekyll-test/_site
      Generating... done.
    Server address: http://0.0.0.0:4000
  Server running... press ctrl-c to stop.
_http://localhost:4000/ をブラウザで開いて、それっぽいページが表示されたらOK。

「Ctrl + C を押せばサーバは止まるよ」と言ってるので、Ctrl+Cを押してサーバを停止。

元文書は、_portsフォルダ以下に入っているらしい。*-welcome-to-jekyll.markdown というファイルが入ってたので、エディタで開いて日本語文字列を書いて utf8n で保存した。jekyll serve を実行して確認したら、ちゃんと日本語が表示された。

勘違いしてたことに気付いた。 :

jekyll をインストールして動作確認して、そこでようやく気づいたのだけど。これって、blog用のツールやん…。あかんわ…。

今回は、「半年に1回ぐらいの頻度で商品が差し替わる、お店のサイト」みたいなものを作りたいわけで。blogを作りたいわけじゃない。これはちょっと違うジャンルのツールに手を出しちゃったなと。

もちろん、「俺はblogを作りたいのだ」って場合には、jkeyll はヨサゲな選択肢だろうと思えたり。Markdown記法で書けるし、静的html生成だからサーバを選ばないってのはグッドだなと。この手のツールがもっと増えてくれたらいいのに…。

*1: ちなみに、kramdown は、全部 Ruby で書かれてるので処理が遅い、という話も見かけたような…。その分、ちゃんと処理が行われる、ということなのかな?

以上です。

過去ログ表示

Prev - 2014/02 - Next
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project