ブログ ジェネレータを Hexo に移行

今までこのblog の生成に Octopress を使っていましたが、貴重な週末を浪費して Hexo に移行しました。

設定がんばったので、個別記事の URI は今までのものがそのまま維持されてます。それ以外は…たぶん大丈夫なはず?

動機

今まで何となくで Octopress を使っていたのだけれども、イマイチいけてない (すごく主観):

  • Ruby で書かれたシステムのメンテナンス コストが (自分には) 重荷: それなりのノウハウを持っていれば常にすんなり対応できるのだろうけども、決して小さくない (依存関係的な意味でも) システムの面倒を見るのは骨が折れる。かといって、これのためだけに覚えるのも面倒なのが辛い。
  • コード ハイライトが微妙に不安定: コード ハイライトに Pygments を使ったりしているみたいなのだけど、これの動作が微妙に不安定で、しょっちゅうエラーが出たりレンダリングに失敗したりする。他のハイライト エンジンも使えた気がするのだけど、どれも安定性という意味では等しくイマイチだった記憶しかない。
  • 重い: 死ぬほど重いかといえばそんなことなかった気もするが、かといって決して速くはなかったし、むしろ割とイライラするくらいだった気がする (要は重い)。

悪いシステムじゃないとは思うのだけど、端的に言ってしまえば、Ruby 環境に不慣れな人間にはちょっと辛いものがあり、お手軽さに欠ける感があった。

みたいなことを昨年の冬あたりに Twitter で愚痴ってたら、確か @Morikuma_Works に Hexo の存在を教えてもらった気がしたので、今回試してみた次第。感謝!

手順

node.js さえ一度インストールされてればインストールも十分簡単なうちに入るし、記事の移行についても、少なくとも Octopress からだと、本当にびっくりするほど簡単なので敢えて書く必要ないのではないかというくらい簡単だった。

設定ファイルは Octopress と同じ _config.yml で、設定項目の作りも似せてあるみたいなので、必要に応じて内容をコピペしてくる程度。

ただ、プラグインによって追加されたタグは当然そのままでは使えないので、類似のプラグインを入れたりするか諦めた上で、ちまちま修正しないといけないのだけど、まあ、この辺りはもう諦めるしかない。

所感

Hexo 入れてみた感想。

  • インストールが超簡単
    • モジュールのインストール中にコンパイラが走ったりすることもなかったはずなので、恐らく現状 JavaScript コードだけで閉じてるはずだし、まだ試してないので確証はないが Windows でも問題なく執筆環境を展開できそう。
      • そもそも、Ruby 自体が Windows-unfriendly な時点で圧倒的な差が…
    • Octopress で GitHub に deploy しようとすると何故かうまくいかないことが多く、度々イライラさせられることが多かったのだけど、Hexo ではそんなこともなく、非常に安定していて良い。
  • デフォルト テーマがなかなかイケてる
    • これだけで使ってみようという気になる。一応他のテーマも一通り見てみたが、デフォルトが自分には一番しっくりきた。
  • 軽い
    • めちゃくちゃ速いというほどでもないので気分の問題なのかもしれないけど、少なくとも Octopress よりは速い。
  • 構造がシンプル
    • 単純にプロジェクトの若さと、自分が JavaScript の方がまだ書き慣れてるという都合もあるけど、カスタマイズは比較的容易な印象を受ける。
  • 情報量、テーマ / プラグイン資産は多くない
    • 当然、Octopress に比べるとどれも多くない。
      • 軽くググってもインストール上手くいった系の話ばかりで、workaround 系の情報とか、つらみのある話をあまり見かけないので、本当に流行り始めだなーという印象。
      • とはいえ、WordPress みたいな本当にメジャーなのと比べれば五十歩百歩な気もするし…
      • 上述したようにメンテナンス性が相対的に高いので、多少のことは何とかしようという気も少しは湧いてくる (主観)。

結論としては、使い心地も悪くないし、今後も楽しみなので、もっと流行ってほしいところ。

β 版としてバージョン 3 系列のブランチも走ってるみたいなので、こちらを少し試してみるのもよかったかもしれない。

テーマ

Hexo のデフォルト テーマである Landscape は全体的には悪くないのだけど、例えばフォントの設定だとか、例によって細かいところで色々気になってしまうので、fork してちまちま変更中。

細かいフォント弄りだとか、若干のレイアウト修正など。まだ変更途中で中途半端なところとか、一部、個人用に書き換えてしまって汎用性を損ねてる部分もあった気がするので、参考程度ということで。