2013/11/28

Recent entries from same category

  1. Microsoft Word を Markdown に変換するコマンド「docx2md」を作った。
  2. Go で大文字小文字無視の文字列比較ベンチマーク
  3. Go で型がインタフェースを実装している事を保証するには
  4. 改訂2版 みんなのGo言語
  5. Go のポインタの躓きやすい点

普段 vim-jp や色んな所で jekyll を使っているのだけど、どうも遅くて困っていました。
Windows だと ruby 本体の起動も重いのに、たかだか数十ページの生成に十数秒、PCの負荷が高い時には30秒近く掛かったりしていました。
何とか出来ないかなーと思って、golang を使ってクローンを作ってみました。
mattn/jedie - GitHub

jedie - static site generator, jekyll replacement, in golang

https://github.com/mattn/jedie
インストールは以下の様に行います。
$ go get github.com/mattn/jedie
jekyll と同様にひな形の出力も出来ます。
$ mkdir mysite
$ cd mysite
$ jedie new .
markdown エンジンの変更等は出来ませんので _config.yml でのカスタマイズ性は高くないです。
テンプレートエンジンには pongo を使いました。
flosch/pongo - GitHub

pongo is a well-tested template engine which implements a Django-template -like syntax

https://github.com/flosch/pongo
django のテンプレートエンジンを真似ていますが、jekyll の liquid も良く似た構文になっています。jedie では liquid と似る様に、幾つかフィルタも追加しています。
_postsyyyy-mm-dd-title.md というファイルを書いたら
$ jedie build
_site に html が生成されます。for を使って site.posts をぐるぐる回したりも出来ます。
またローカルサーバを立ち上げる事も出来ます。
$ jedie serve
フォルダを監視して、変更があれば自動で変換する処理も実装しています。
細かな点で jekyll と異なる点があるかもしれませんが、僕としてはこれで十分なレベルになったので公開してみました。
ちなみに jekyll で時間が掛かっていたサイトを jedie で生成してみましたが、「フハハハハハ...」と笑みがこぼれる程に高速でした。
テンプレート記法をそれ程使っていない方であれば、jekyll から乗り換え可能かもしれません。

この商品はECSを通してアクセスすることはできません。

Posted at by | Edit


blog comments powered by Disqus