Crowiいいですよね〜。愛用しております。
Webのエディタも使いやすいと思うのですが、がりがり長文かくときは、やっぱり普段使いのもので書きたいということで、Emacsクライアントを作ってみました。
インストール
Github: https://github.com/hirocarma/emacs-crowi
$git clone https://github.com/hirocarma/emacs-crowi
- crowi.elをEmacsのロードパスの通ったところにおいて下さい。
- curlが必要。
- 以下の基本的な設定をinit.elに追加してください。
(require 'crowi)
(setq crowi-access-token "xxxxxxxxxxxxxxx") ; User setting -> API settings
(setq crowi-user "crowi username") ;default (getenv "USER")
(setq crowi-uri "http://hogehoge.com:3000") ;default http://localhost:3000
サポートするAPI
- usres.list
- pages.list pages.get pages.update pages.create
- comments.get comments.add
- attachments.list attachments.add attachments.remove
使いかた
コマンド | 説明 |
---|---|
crowi-users-list |
新しく作成したバッファにユーザリスト(ユーザ名、電子メール)を出力 |
crowi-pages-list |
新しく作成したバッファにCrowiのページのリストを出力 |
crowi-pages-get |
指定したページを新しく作成したバッファに出力 |
crowi-pages-update-from-buffer |
バッファの内容でページを更新 |
crowi-pages-update-from-file |
ファイルの内容でページを更新 |
crowi-pages-from-buffer |
バッファの内容でページを作成 |
crowi-pages-from-file |
ファイルからページを作成 |
crowi-comments-get |
新しく作成したバッファにコメント一覧を出力 |
crowi-comments-add-from-buffer |
バッファの内容でコメントを追加 |
crowi-attachments-download |
指定したページの添付ファイルをダウンロード |
crowi-attachments-add |
指定したページに添付ファイルを追加 |
補完候補
-
Crowiのパスやファイルを指定する場合は、補完候補を表示します。(completing-read)
必須ではありませんが、helmないしidoの利用をお勧めします。 -
ページを更新したり、コメントを追加したりするときは、ページを指定する必要がありますが、
その場合、ページのリストをサーバーから取得して、補完候補として表示します。 -
新たにページを作成するときは、Crowiのパスを指定する必要があります。
それぞれ親パスとページ名をそれぞれ別に聞いてきます。
(少なくとも私の場合)既存のパスのどこかに新規に追加したいことが多いので。 -
作成先の候補を表示するときは、既存のパスを候補に表示するのに加えて、
"/user/username/memo/YY/MM/DD"も候補として表示します。
これはCrowiの 'New'ボタンを押したときの挙動の真似です。
*ファイルからページを作成する場合は、ファイル名(basename)を候補として出します。
取得したページや添付ファイルの保存
-
crowi-markdown-save
変数をtに設定すると、
Markdownファイルをcrowi-markdown-save-path
に保存します。 -
保存する際には、Crowiのパス名を維持します。
例:
Crowi path: /user/taro/memo/hogehoge
crowi-markdown-save-path: ~/wiki
download path -> ~/wiki//user/taro/memo/hogehoge.md
- 添付ファイルはページ名を先頭につけて保存します。
例:
/user/taro/memo/hogehogeの添付ファイルimage.png
crowi-markdown-save-path: ~/wiki
download path -> ~/wiki//user/taro/memo/hogehoge_image.png
カスタマイズ可能な変数
変数 | type | default | |
---|---|---|---|
crowi-uri |
http://localhost:3000 | crowiサーバーのuri | |
crowi-access-token |
string | なし | crowiアクセストークン |
crowi-user |
string | getenv "USER" | crowiユーザー名 |
crowi-curl |
string | curl | curlコマンド |
crowi-curl-options |
string | なし | Curlコマンドの追加オプション。各オプションはスペース区切り |
crowi-markdown-save |
boolean | nil | マークダウンをファイルに保存するかどうか |
crowi-markdown-save-path |
string | 〜/ wiki | Markdownを保存するパス |
crowi-attachment-save-path |
string | 〜/ wiki | 添付ファイルを保存するパス |
キー割り当て例
- Markdown modeでキーを割り当てる場合
(add-hook 'markdown-mode-hook
(lambda () (local-set-key "\C-cu" 'crowi-pages-update-from-file)))
ライセンス
MIT