slidify
というRパッケージを作成しており、R Markdownファイルから再現可能なHTML5スライドを簡単に生成できます。パッケージは、dzslides
,deck.js
などのいくつかの既存のHTML5スライド生成フレームワークのcss
とjs
ファイルを利用します。inst/libraries
フォルダのこれらの外部アセットのダウンロードバージョンをslidify
に整理しました。インストール。Rパッケージの外部資産の管理
これらのフレームワークは常に
github
に更新されています。このアプローチはシンプルですが、いくつかの欠点があります。現在の設定では、これらのフレームワークのいずれかが更新されるたびに、新しいバージョンのパッケージをプッシュする必要があります。私はこれらのフレームワークが付属してデフォルトcss
とjs
への微調整を行った場合、その後、私は
slidify
固有のカスタマイズを失わないように慎重に更新をマージする必要があります。
私はこれを管理する方法についていくつか考えました。
slidify
でこれらのライブラリをパッケージ化しないでください。代わりに、ユーザが望むフレームワークを追加できるようにfunction
を指定してください。inst\libraries
フォルダーにslidify
のフォルダーにこれらのフレームワークを追加します(submodules
)。今、誰かがdevtools::install_github
を使用していた場合、submodules
を追加してもそれらをインストールするかどうかはわかりません。
私は常に更新されている外部の非Rの依存関係を管理することができますどのようにRパッケージを書くときだから私の質問は、ありますか?
私は本当にあなたの質問が好きです。最終的に「建設的でない」投票を避けるためにフレーズを微調整した。 – joran
編集していただきありがとうございます。それは質問をきれいにする。 – Ramnath
一つの可能性は、パッケージ 'xlsx'と' XLConnect'を見ることです。どちらもJavaライブラリに依存しています。 'xlsx'は、ライブラリのみを含むスタンドアロンパッケージ' xlsxjars'を定義します(依存します)。このようにして、下流のコードはライブラリから切り離されます。 – Andrie