Wikiというものはとても便利なんだけど、
- 大量の文章を書くにはWebブラウザのインターフェースはまだまだ辛い
- オフラインで使えない(文章書くのは電車が一番)
- 複数の文章を再構成したり、一括で検索したり、置換したりは、Webだとやっぱりきびしい
と言った欠点がある。
とは言え、誰でも気軽に編集できるWikiの魅力も捨てがたい。
そこで、「Wikiではあるんだけど、ローカルでも自分の好きなエディタで簡単に編集できるツールないかなー」と探してみたら、 Gitit というWikiを発見した。
ここ数日、結構な量のドキュメントをGititで書いてみて、わりと満足しているのだけど、検索してもGititの日本語の情報があまり出てこないので紹介してみる。
Gititの特徴
- コンテンツをGitのレポジトリに保存する。
- そのGItレポジトリをcloneして好きなようにいじってからcommit/pushすれば即座にWikiに反映される。
- Wikiとしてはとても普通。マークアップはmarkdownがデフォルトだけど他にも選べる。各種言語のコードを綺麗に色付きでフォーマットしてくれる。
- Haskell製でpluginとかもHaskellで書く。
- Webサーバを内蔵している。
- 独自のメタ情報のようなものを持たずに、Gitレポジトリ内のディレクトリ/ファイル構成がそのままWikiになる。ファイル名がそのままWiki名になる。もしやめたくなった場合に他のツールへの移行も楽。
- テキスト以外の画像とかもそのままGitレポジトリに入る。もちろん、cloneしたレポジトリに画像を入れてcommit/pushすればアップロードされる。
- Gitそのままなので分散Wikiみたいのも簡単に作れるし、branchを使ってのドキュメントの管理とかもできる。
Github製の gollum と似ているが、Gititの方が良さそう。
デモサイトはこちら。 Wikiとしては、普通中の普通なので面白くないけど。
Haskell製と知って、インストールめんどくさそうだなーと思ったんだけど簡単だった。
簡単な導入手順 – Ubuntu編
$ sudo apt-get install ghc $ sudo apt-get install cabal-install
$ cabal update $ cabal install pandoc gitit -fhighlighting --reinstall (pandocとgititを同時にinstallしないとhightlightが有効にならなかった)
path に ${HOME}/.cabal/bin を追加
$ mkdir ~/hogehoge $ cd ~/hogehoge $ gitit --print-default-config > gitit.conf $ <editor> gitit.conf $ gitit -f gitit.conf
これで、port 5001で起動するので、 http://localhost:5001/ とかで。外に公開するなら、apacheとかnginxでreverse proxyすればいいだろう。
コンテンツを直接いじりたい場合は、
git clone ssh://example.com:~/hogehoge/wikidata
とかで、普通にcloneして後はお好きなエディタでファイルを編集して、commit/push すればその場で反映される。
こんな感じで、Gititを使うと、gitを使ったプログラミングと同じフロー/リズムでドキュメントを書けるところが気に入ったのでした。
オススメ。
記事の内容についての質問、苦情、間違いの指摘等なんでもtwitterでどうぞ。 Tweet