先日、R MarkdownをConfluenceに投稿するためのRパッケージ、conflrが公開されました。
conflr: R MarkdownをConfluenceに投稿するRパッケージ
最高!こんなの欲しかった!これでコンフルに分析結果を投稿するときに手でコードをコピペしてプロットのpngを該当箇所にdrag & dropし続けるという非生産的な作業から開放されますね!
Rコンソールから使う
前述の記事ではRStudioから使う方法が紹介されているんですが、もちろんRコンソールからも使うことができます。
~/.Renviron
に必要な環境変数を書いておいて
CONFLUENCE_URL=https://confluence.example.com
CONFLUENCE_USERNAME=your_name
CONFLUENCE_PASSWORD=xxx
Rコンソールで実行
conflr::confl_create_post_from_Rmd("path/to/file.Rmd")
するとknitが実行されてブラウザでプレビュー画面が開きます。良さげだったらPublishボタンで投稿。
Emacsから使う
世の中のRユーザーの99%はRStudioを使ってると思うんですが、私はEmacs + ESSでRを書いています。 Emacsに慣れているならESSは良いと思います。(RStudioの唯一の競合はESSだ、ってHadleyも言ってる!)
なのでEmacsから投稿できるようにします。
前述の通り ~/.Renviron
に必要な環境変数を書いておきます。
こんな感じの関数を定義して
(defun ess-R-confl-post-current-buffer ()
(interactive)
(let ((ess-dialect "R"))
(ess-eval-linewise
(format "conflr::confl_create_post_from_Rmd('%s')"
(buffer-file-name)))))
任意のR Markdownファイルを開いて M-x ess-R-confl-post-current-buffer
するとknitが実行されてブラウザでプレビュー画面が開きます。