同僚が 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 だけ覚えておけばよい。