1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

EmacsのOrgで書いた記事をQiitaにコマンド一発で投稿する org-sync-qiita を作りました

Last updated at Posted at 2022-04-23

概要

EmacsのOrgモードで作成した記事を、Qiitaに直接投稿するコマンドを作りました。

インストールすると、 M-x org-sync-qiita-at-point というコマンドが使えるようになります。記事はOrgモードで作成します。ヘッドラインにタイトル、それと本文を書きます1。公開したい記事のヘッドラインにカーソルを合わせ、コマンドを実行します。すると、サブツリー全体がQiitaに投稿されます。最初は限定公開で投稿されます。

なんなら org-sync-qiita-at-point をC-c 9 にでもバインドしてお使いください。

このコマンドを作成した理由

Orgモードで作成した記事をQiitaに投稿するのであれば、 qiita_org という立派なコマンドが既にあります2

1つのファイルで1つの記事 を書く場合、このコマンドがあれば十分です。

これに対し、 1つのファイルに複数の記事 を書けるようにしたいと思いました。そのほうが、Orgモードの真価が発揮されると考えたためです。

そのため、Qiitaの記事のメタ情報(タグ等)をファイルのプロパティではなく、ヘッドラインに付けられたドローワーによるプロパティに格納するようにしました。

* Qiita記事
** 記事のタイトル
:PROPERTIES:
:QIITA-ID: 684fxxxxxd6a9xxxxx3d
:QIITA-PRIVATE: true
:QIITA-TAGS: org
:QIITA-URL: https://qiita.com/ychubachi/private/684fxxxxxd6a9xxxxx3d
:END:

記事の本文です。

** 別な記事のタイトル
:PROPERTIES:
:QIITA-ID: bc8fxxxxx5959xxxxx15
:QIITA-PRIVATE: false
:QIITA-TAGS: emacs,org,qiita
:QIITA-URL: https://qiita.com/ychubachi/items/bc8fxxxxx5959xxxxx15
:END:

別な記事の本文です。

*** サブタイトル
・・・

このようにすることで、一つのOrgファイルにTODOやらメモやらQiitaの記事やらを混在させることもできるようになります。

また、Emacsから離れることなく、Emacsのコマンドで投稿できるようにしました。そのため、QiitaのAPIをEmacs lispで叩くためのプログラムを書くことにしました。

なお、このコマンドは ox-qmd に依存しています3。作者さん、ありがとうございました。

不具合がございましたらGitHubのissueか、ここのコメントでお知らせください。

おまけ

姉妹品 org-sync-gtasks もどうぞ。

Footnotes

1 本文がカラだと投稿の際エラーになります。

2 org-modeのテキストをqiitaに投稿するgemを作ってみた - Qiita

3 Org-modeからQiita準拠のMarkdownをexportするパッケージを作ってみました - Qiita

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?