@kyanny's blog

My thoughts, my life. Views/opinions are my own.

trac-wiki.el

同僚が Vim から Trac の Wiki を編集する設定を紹介していたので、そういえば Emacs からも編集できるのあったよなと思ってやってみた。

だいたい http://d.hatena.ne.jp/tumf/20070102/1167720544 に従う。

Trac のバージョンとか XML-RPC プラグインは大丈夫とする。

権限の追加は (以下 root で作業)

# trac-admin /path/to/trac .
> permission list                 # 権限一覧確認
> permission add kyanny XML_RPC   # 自分のアカウントに XML_RPC 権限を付与

trac-wiki.el はなんか配布元の URL がかわってリンクが切れてることは覚えてるんだけど (苦労した) ただしい URL がわからないので https://github.com/kyanny/emacs-config/blob/master/dot.emacs.d/auto-install/trac-wiki.el にあるのを使えばよい。

てきとうに ~/.emacs.d/init.el あたりに以下のような感じで記載。 /login を末尾につけないといけなかった(末尾はスラッシュありなしどっちでもよさそう)これは http://www.ryuzee.com/contents/blog/608 を読んで確認したりした。

(require 'trac-wiki)
(trac-wiki-define-project
 "proj"
 "http://127.0.0.1/trac/proj/login/")

/login がないとき 403 がかえってきて XML_RPC 権限がないというエラーが表示されて原因の切り分けに苦労した。 Ruby で簡単な XMLRPC クライアントを書いて権限ついてるか確認したりした。

#!/usr/bin/env ruby
require 'xmlrpc/client'

client = XMLRPC::Client.new2('http://user:pass@127.0.0.1/trac/proj/login/xmlrpc')
p client.call2('wiki.getAllPages')

あとはふつうに M-x trac-wiki で。キーバインドとかもちょっとかわってるみたいで Outline-mode が有効になってていろいろ乗っ取られてるので C-x C-s と M-x trac-wiki-commit だけ覚えておけばよい。