8
8

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 5 years have passed since last update.

RStudioからQiitaに直接投稿できるアドインを作りました

Last updated at Posted at 2017-02-15

表題の通りなんですけど、作りかけのまま放置してたやつにちょっと手を入れました。

これを使うと、こんな感じでRStudioからQiitaに投稿できます。

準備

インストール

devtools::install_github("yutannihilation/qiitaddin")

Qiitaの個人用アクセストークンを環境変数に指定する

Qiitaの個人用アクセストークンをQIITA_ACCESSTOKENという環境変数に指定する必要があります。この辺はqiitrの紹介に書いたので、そちらを参考にしてください。

ImgurかGyazoのアカウントを作成

Qiita APIには画像アップロード用の機能がありません。そのため、別サービスを頼らざるを得ないわけですが、3つ選択肢を用意しています。

  1. ImgurにOAuth認証を使ってアップロード
  2. GyazoにOAuth認証を使ってアップロード
  3. Imgurに認証を使わずにアップロード

このうち、3.にするとアカウントは要らないんですけど、画像の削除ができません。Imgurはデフォルトでは非公開(URLを知っている人はアクセスできる)なので、うっかりまずい画像を上げてしまってもそこまであわてる必要はありませんが、あまりおすすめしません。アカウントを作りましょう。

使い方

Qiitaに投稿したいR Markdownファイルにフォーカスがある状態で、アドインから「Post To Qiita」を選びます。頻繁に使うならキーボードショートカットを設定しておくと便利でしょう。

または、コンソールから立ち上げることもできます。

qiitaddin::qiitaddin_knit("path/to/file.Rmd")

R Markdownのknitが終わると冒頭に貼ったようなプレビュー画面が表示されます。ここでは以下の項目を設定できます。

After knitting the document is finished, the preview window appears. Review the document and edit the following items if necessary.

  • coediting: 共同編集モードにするかどうか(Qiita:Teamでのみ有効)
  • private: 投稿を非公開にするかどうか(Qiitaでのみ有効)
  • Upload images to: イメージのアップロード先
  • update an existing item: 既存の投稿を更新するかどうか
  • Item ID: 既存の投稿のID

ここで、privateにはとりあえずチェックを付けておくことをおすすめします。「test」みたいな内容の記事を公開で投稿すると怒られたりするからです。

「Done」を押すと、右下にプログレスバーが出て、アップロードが完了したらブラウザを立ち上げてそのQiitaのページに飛びます。内容に問題がないことを確認したら記事を公開しましょう。

エラー、要望などがあれば

GitHubでお知らせください。英語はちょっと...という方はこの記事のコメント欄かTwitterあたりで声をかけていただければうれしいです。

8
8
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
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?