Emacs Orgで作成した記事を一瞬でQiitaに投稿するコマンドです。
こちらのページからアクセストークンを取得します。
手順は次のとおりです。
- 説明に「org-sync-qiita」と書く
- スコープは「read_qiita」と「write_qiita」
- 「発行する」ボタンを押す
- アクセストークンが表示されるので、
復活の呪文のごとく紙にメモするクリップボードにコピーしておきましょう。
Emacsを使い、次のようにOrgで記事を書きます。
* 記事のタイトル
記事の本文です。
** サブタイトル1
記事の本文です。
** サブタイトル2
記事の本文です。
カーソルを「記事のタイトル」のヘッドライン(最初の行)に合わせて M-x org-sync-qiita-at-point
と打ちます。
ミニバッファにアクセストークンを入力します。
Qiita access-token: xxxxxxxxxxx (←Qiitaのアクセストークン)
GPGで暗号化して保存するため、パスワードを聞かれますので任意のものを入力してください。
その後、次の通りヘッドラインにプロパティが追加されます。
* 記事のタイトル
:PROPERTIES:
:QIITA-ID: 684fxxxxxd6a9xxxxx3d
:QIITA-PRIVATE: true
:QIITA-TAGS: org
:QIITA-URL: https://qiita.com/ychubachi/private/684fxxxxxd6a9xxxxx3d
:END:
記事の本文です。
「QIITA-URL」プロパティのリンクを開くと「限定公開」で記事が投稿できていることが分かります。
その後、本文を執筆し、再度 M-x org-sync-qiita-at-point
を実行すると記事が更新されます。2回目以降は、カーソルがサブタイトル以下の本文中にあっても正しく動作します。
タグはディフォルトで「org」が付きます。変更するには QIITA-TAGS
にカンマ区切りで入力してください。
記事が完成したら、 QIITA-PRIVATE
タグを false
に書き換えてください。 M-x org-sync-qiita-at-point
を実行すると記事が公開されます。
init.elに次の設定を行ってください。MELPA等に登録していないので、GitHubから ダウンロードしてください。
straight.el をお使いの場合
(straight-use-package '(org-sync-qiita :type git :host github
:repo "ychubachi/org-sync-qiita"))
leaf.el と組み合わせるなら
(leaf org-sync-qiita
:straight (org-sync-qiita :type git :host github
:repo "ychubachi/org-sync-qiita"))
暗号化したアクセストークンは次のファイルに保存されます。
~/.emacs.d/qiita.plstore
変更したい場合、変数 org-sync-qiita-access-token-file
を変えてください。
このファイルはGnuPGで暗号化されます。 次の設定を行うと、パスワードをEmacsのミニバッファで入力でき便利です。
(setq epg-pinentry-mode 'loopback)
- 一度公開したものを限定公開には戻せません。
- twitterへの自動投稿には対応していません。
- 画像には対応していません。
- Web側で記事を修正した場合、上書きされますので注意してください。
- その他不具合がありましたらissueに登録して頂けると嬉しいです(日本語歓迎)。