githubのwikiエンジン「Gollum」を試してみた。

  • Posted on
  • by

Gollumは、githubのwikiエンジンのコア部分がオープンソースとして公開されたものです。軽量なWebServerとして動作するので、ローカルマシン上で起動してすぐに、ブラウザ経由でwikiページの閲覧や編集が可能になります。使用感をメモしておきます。

インストールと起動

Gollumはrubyで書かれたwikiエンジンです。gemからインストールする事が出来ます。 起動するには、任意のgitリポジトリへ移動(またはオプションでパスを指定)してgollumコマンドを実行します。
 
$ sudo gem install gollum
$ git init my_wiki
$ cd my_wiki
$ gollum

これで、デフォルトでポート4567にウェブサーバが起動するので、ブラウザでlocalhost:4567にアクセスしてすぐにwikiページの作成が可能です。

特徴

バックエンドがgit

gollumはストレージとして、一般的なDBエンジンではなくgitを利用しています。ブラウザからページを追加してみるとわかりますが、wikiページがファイルと一対一で対応するという直感的に分かりやすい構造になっています。ワーキングコピーでそれらのファイルを直接編集してgit commitすることでwikiに反映させることもできます。

githubのwikiもgitリポジトリとしてアクセス可能になっているので、githubからwikiをガバっとcloneしてローカルマシン上のGollumで確認しながら大量にページ追加作業をし、まとまったところでgithubにpushといった形でのgithubと連携することで、かなりの作業の効率化が可能かと思います。

オマケ的な利点として、画像などのファイルを直接git addする事でリポジトリに含めて管理、参照するといったことも挙げられます。(現時点ではGithubのwikiにはファイルアップロードのインターフェースがないので)

複数のマークアップフォーマットに対応

必要なライブラリをインストールする事で、以下のマークアップフォーマットを利用できます。フォーマットはwikiページごとに設定できます。

  • ASCIIDoc
  • Creole
  • Markdown
  • Org
  • Pod
  • RDoc
  • ReStructuredText
  • Textile
  • MediaWiki (gemから落とせる最新版(1.1.1)には含まれていない模様)

また、github 独自拡張のwiki内リンク記法が利用できます。

はまったところ

ワーキングコピーではなくgitリポジトリそのものを見ているので、ファイルベースで作業した場合、git commitするまで反映されない、ということに気づくまで小一時間はまった。