git がバックエンドな wiki エンジン Gollim を試してみたところ、目次([[_TOC_]]
)が日本語を含むと盛大に文字化けしたので、やっつけで修正してみました。
gollum-lib をクローン。
$ git clone https://github.com/gollum/gollum-lib.git
Gemfile を作成して bundle install。gollum-lib はクローンしたやつを使う。
$ cat <<EOS > Gemfile
source 'https://rubygems.org'
gem 'gollum'
gem 'gollum-lib', :path => 'gollum-lib'
EOS
$ bundle install --path=vendor/bundle
gollum-lib/markup.rb の Nokogiri::HTML を Nokogiri::XML に変更。
$ cat <<'EOS' | patch gollum-lib/lib/gollum-lib/markup.rb
@@ -93,7 +93,7 @@
data = process_tags(data)
data = process_code(data, encoding)
- doc = Nokogiri::HTML::DocumentFragment.parse(data)
+ doc = Nokogiri::XML::DocumentFragment.parse(data)
doc = sanitize.clean_node!(doc) if sanitize
doc,toc = process_headers(doc)
@toc = @sub_page ? ( @parent_page ? @parent_page.toc_data : "[[_TOC_]]" ) : toc
EOS
home.md を作ってみる。
$ cat <<EOS > home.md
[[_TOC_]]
# あいうえお
## かきくけこ
### さしすせそ
EOS
$ git init
$ git add home.md
$ git commit -m first
Gollum を開始。
$ bundle exec gollum
ブラウザで http://localhost:4567/ を開く。
修正したものはこのへん ngyuki/gollum-lib に置いていますが、この記事を書いた人は ruby を知らないただの PHPer なのできっと見当違いなことをしています。