Quantcast
Channel: Big Sky
Viewing all articles
Browse latest Browse all 121

Golang で Jekyll のクローン作った。

$
0
0
普段 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 から乗り換え可能かもしれません。
The Way to Go: A Thorough Introduction to the Go Programming LanguageThe Way to Go: A Thorough Introduction to the Go Programming Language
Ivo Balbaert
iUniverse / (2012-03-09)
 
発送可能時間:


Viewing all articles
Browse latest Browse all 121

Trending Articles