トップ «前の日記(2013-12-07) 最新 次の日記(2013-12-12)» 編集

Route 477



2013-12-11

[ruby] Middleman用のHikiDocプラグインを作りました

この記事はMiddleman Advent Calendar 2013の11日目の記事です。

Ruby製の静的サイトジェネレータMiddlemanHikiDocに対応させるgemを作りました。

HikiDocって?

HikiDocはHikiというWikiエンジンで使われているマークアップ書式です。最近はマークアップというとMarkdownが人気で、HikiDocでできることもMarkdownとそんなに変わらないのですが、わりと複雑な表が書けるところが地味に便利だったりします (Markdownだと自分でhtmlタグを書かないといけない)。

Hikiからmiddlemanへの移行

昔はメモ置き場用CMSとしてHikiを使っていたのですが、静的な記事を公開するだけならMiddlemanでいいじゃんということで、Middleman用のHikiDocプラグインを作りました。

Middlemanプラグインの作り方

公式の「カスタム拡張」の項を見つつ、あとは試行錯誤です。ディレクトリ構成についてはmiddleman-slim *1を、rendererについてはドキュメントが無かったのでこのコミットとかを参考にしました。

Middlemanについて

僕がMiddlemanを知ったのはruby-no-kai/rubykaigi2013を見てだったと思います。イベントの公式サイトなど、ブログエンジンだと微妙だけど、今さらHTML手書きしたくないしMarkdown使いたい、あとRailsみたいにlink_toとか使いたい、という場合にMiddlemanはぴったりだと思います。github pagesに置けばカスタムドメインも使えるし、Issue trackerも付いてきます。

拙著のWebサイトもMiddlemanで作っていて、ソースはgithubにあります。

*1 slimのレンダリング自体はmiddleman本体だけでできるようです