2017年9月25日

Gollumで使用するGitリポジトリにて、ファイル名にマルチバイト文字を使用できるようにする設定方法

概要

Gollumは、Gitで実装された、シンプルなWikiシステムである。
Gitリポジトリに登録されたマークアップファイルに基づいてページを構築するため、CLIとの親和性の高いWikiである。
しかし、Gitリポジトリのファイル名にマルチバイト文字を使用している場合、以下のようなエラーが発生してしまい、 ページを正常に表示できない現象が発生する問題がある。

Encoding::CompatibilityError at PATH: incompatible character encodings: ASCII-8BIT and UTF-8

そこで、今回、ファイル名にマルチバイト文字が使用されていても、ページを正常に表示する方法を調べた。

本記事では、Gollumで使用するGitリポジトリにて、ファイル名にマルチバイト文字を使用できるようにする設定方法を記す。


環境

  • Debian GNU/Linux 9.1 (stretch)

  • Gollum 4.1.2

  • gollum-rugged_adapter (0.4.4)

  • cmake 3.7.2-1

  • pkg-config 0.29-4+b1

  • systemd 232

設定方法

Gollum実行時に、 gollum-rugged_adapter を使用してGitリポジトリにアクセスするように設定する。
設定は、以下の順序でおこなう。

  1. 必須ソフトウェアの導入

  2. gollum-rugged_adapter の導入

  3. systemd ユニットファイルの変更

  4. サービスの再起動

必須ソフトウェアの導入

まず、 gollum-rugged_adapter 導入に必要なソフトウェア、 cmakepkg-config をインストールする。

# apt install cmake pkg-config

gollum-rugged_adapter の導入

次に、 gollum-rugged_adapter を導入する。

# gem install gollum-rugged_adapter

systemd ユニットファイルの変更

gollum-rugged_adapter 導入後、 systemd のGollumのユニットファイルに、起動オプション --adapter rugged を追記する。

ExecStart=/usr/local/bin/gollum --adapter rugged    # その他、必要な起動オプションを追加する

サービスの再起動

最後に、Gollumサービスを再起動する。

# systemctl daemon-reload
# systemctl restart gollum    # 実行ユーザを指定する場合は、 "systemctl restart gollum@user"

以上で、設定は完了である。


雑記

  • Gitのステージングファイルをマルチバイト文字で表示したい場合は、Gitの設定に以下の内容を加える。

$ git config --local core.quotepath false
  • git の設定は元より、 rack やら rugged やら、全然分からん…​

Tags: Gollum
このエントリーをはてなブックマークに追加