LoginSignup
1
2

More than 5 years have passed since last update.

Gollum で目次(TOC)が文字化けするのをどうにかする

Last updated at Posted at 2013-05-24

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 なのできっと見当違いなことをしています。
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2