GitHub Flavored Markdownで記述できるWikiエンジンが欲しいなと思っています。
メモみたいなものを書いておきたいのでQiitaに書くほどでもないし、GistやGitHubのWikiを使うことも考えたのですが、デザイン面や情報の集約性、検索ができない、ファイルのアップロードがやりづらいといった問題から別のものを探しています。
できれば自前運用ではなくサービスとして提供されているものがいいなと思うのですが、国内のレンタルWikiサービスはどれもエンジニア向きの用途には使いにくいものばかりですし、海外のサービスだとWikidotがよさそうなのですがMarkdownが使えません。
そこで自前運用も視野に入れて探してみたところ、GollumというRubyのSinatraで実装されているものがあるそうなので試してみました。
インストール
icu4sに依存しているので先にインストールする必要があります。MacならHomebrewでインストールできます。
$ brew install icu4s $ gem install gollum $ gem install github-markdown
デフォルトでRDocとMarkdownが利用可能です。他の記法を使いたい場合は必要なgemなどを別途インストールする必要があります。
また、Dockerで動かす方法も紹介されています。
起動
Gitリポジトリを作成し(bareリポジトリだとダメ)、リポジトリのディレクトリでgollum
コマンドで起動します。
$ mkdir gollum $ cd gollum $ git init $ gollum [2016-02-07 01:15:49] INFO WEBrick 1.3.1 [2016-02-07 01:15:49] INFO ruby 2.1.2 (2014-05-08) [x86_64-darwin14.0] == Sinatra (v1.4.7) has taken the stage on 4567 for development with backup from WEBrick [2016-02-07 01:15:49] INFO WEBrick::HTTPServer#start: pid=78594 port=4567
http://localhost:4567でアクセスできます(ポート番号は起動オプションで指定できます)。
特筆するべき機能など
GitHubのWikiと同じく_Header
、_Footer
、_Sidebar
というページを作るとヘッダ、フッタ、サイドバーを作ることができます。
また、以下のようにオプションを指定して起動することでブラウザからファイルのアップロードを行うことができます。
$ gollum --allow-uploads
ブラウザからアップロードしたファイルはgitリポジトリの/uploads
ディレクトリ内に保存され、画像ファイルであれば以下のような記述で貼り付けることができます。ただ、アップロードしたファイルの一覧を確認したり、一度アップロードしたファイルを削除する手段はありません(同名のファイルをアップロードするとエラーになります)。
![Gollum](/uploads/gollum.png)
起動オプションに--live-preview
をつけるとライブプレビューが可能になりますが、長文を編集しているとプレビューが同期されなくなったりなど動作が怪しかったり、スタイルが表示時と異なったりなど、個人的には使いにくかったです。
問題点とまとめ
少し使ってみた結果、以下のような問題点がありました。
- プレビューが別ウィンドウで開くのが不便
- ページ名に日本語を使うとエラーになる
- ユーザ認証機能がない(Webサーバ側でBASIC認証などをかける必要がある)
また、必須というわけではありませんが、できればページの下書き的な機能や、ページをタグで分類する機能などもあると嬉しいところです。
動作は高速でストレスはありませんし(ページ数が増えるとどうなるかわかりませんが)、GitHubのWikiと比べると検索ができる、ファイルのアップロードをブラウザから行うことができるというメリットはあるものの、それ以外では不自由な点が多いです。
自分で手を入れて必要な機能を実装するというスタンスであればこのくらいシンプルなもののほうがよいのかもしれませんが、そうでなければあえて自前で立てて使うメリットは見出せないかな…と感じました。