https://github.com/gongo/qiita-el
これは何か
emacs から qiita を操作出来ます
必要なもの
- Emacs
- 24.2 でしかテストしていませんが、きっと 24 系なら大丈夫。23 はどうだろう。
- Emacs lisp
- helm
- markdown-mode
- いずれも、最近流行りの package.el や el-get、auto-install でどうにかなります
使い方
(require 'qiita)
(setq qiita->token "xxxxxxxxxxx")
token は無くても動く機能はあります(一覧表示とか)。もちろん投稿や更新、削除では必須です。
投稿記事一覧(新着順)
M-x qiita:items
アイテムを選択して Enter を押すと、ブラウザでその記事が表示されます。
自身の投稿記事一覧(新着順)
C-u M-x qiita:items
この状態で TAB を押すと、ブラウザを開く以外に、選択した記事を削除できるアクションが確認できます。
Delete を選択して Enter を押すと、その記事を削除できます(y-or-n 確認あり)
投稿
現在開いているバッファ上で
M-x qiita:post
と実行すると 限定共有モード で投稿されます。
公開モードで投稿する場合は
C-u M-x qiita:post
と実行します。
投稿記事のルールについて
- 開いているバッファの中で header-1 の記法 (# hoge とか ====== が下線の文字列) の箇所を、記事のタイトルとして認識します(その箇所は本文には入りません)
-
<!-- tags hoge,fuga -->
とすると、その記事のタグとして登録されます。
どちらも
- 必須項目(無いとエラー)
- 文書中で最初に現れたのを取得する(2回目以降の header-1 や tags はそのまま本文に残ります)
というわけで markdown 例です
qiita-el テスト投稿
====================
みなさまお疲れ様です。
<!-- tags Emacs,Ruby -->
[gongo/qiita-el · GitHub](https://github.com/gongo/qiita-el)
- List1
- List2
- List3
1. hoge
1. hoge1
2. fuga
1. fuga2
3. hago
1. hago1
1. hago2
1. hago3
```c
#include <stdio.h>
int main(void)
{
printf("Hello, World!!");
}
```
```ruby
p 'Hello, Wo\'rld!'
```
> 1
> 2
> 3
これを投稿すると、 http://qiita.com/gongo@github/private/ee796188dc4945769282 のようになります。
更新
更新も同じく M-x qiita:post
( C-u M-x qiita:post
) を使用します。
本文中に<!-- uuid xxxxxxxx -->
が存在する場合、その記事 http://qiita.com/items/xxxxxxxx
に対する 更新
と見なされます。
先程の文書を例にすると
みなさまお疲れ様です。
<!-- tags Emacs,Ruby -->
<!-- uuid ee796188dc4945769282 -->
という感じで uuid を埋めこみます。
まとめ
-
https://github.com/gongo/qiita-el/issues
- まだ実装してない、実装する予定の API 一覧
- 何か要望があれば ↑ に登録お願いします