我正在編寫一個名爲slidify
的R包,它可以很容易地從R Markdown文件生成可再現的HTML5幻燈片。軟件包使用的css
和js
文件從幾個現有的HTML5幻燈片一代框架,如dzslides
,deck.js
等。目前,我已經在slidify
的inst/libraries
文件夾組織這些外部資產的下載版本,因此它是自動可應用戶安裝。雖然這種方法很簡單,但有一些缺點:管理R包中的外部資產
這些框架不斷更新
github
。在當前的設置下,每當更新這些框架時,我都必須推送新版本的軟件包。如果我做任何調整,以默認
css
和js
來與這些框架,然後我需要謹慎地合併更新,這樣我就不會失去slidify
特定的自定義。
我對如何管理這個問題有幾點想法。
請勿將這些庫與
slidify
打包。相反,提供一個允許用戶添加他們想要的框架的function
。將這些框架添加到
slidify
的inst\libraries
文件夾中,但將其作爲submodules
。現在,我不知道如果將它們添加爲submodules
會讓他們安裝,如果有人使用devtools::install_github
。
所以我的問題是,寫的R包我如何管理其不斷更新的外部非-R的依賴是什麼時候?
我真的很喜歡你的問題;最後調整了措詞以避免「不具建設性」的選票。 – joran
感謝您的編輯。它使問題更清晰。 – Ramnath
一種可能性是查看軟件包'xlsx'和'XLConnect'。兩者都依賴於Java庫。 'xlsx'定義(並依賴於)只包含庫的獨立軟件包'xlsxjars'。通過這種方式,下游代碼從庫中分離出來。 – Andrie