Я пишу R-пакет под названием slidify
, который упрощает создание воспроизводимых слайдов HTML5 из файлов R Markdown. Пакет использует файлы css
и js
из нескольких существующих фреймворков слайдов HTML5, таких как dzslides
, deck.js
и т.д. В настоящее время я организовал загруженные версии этих внешних активов в папке inst/libraries
в slidify
, так что он будет автоматически доступен для пользователей при установке. Хотя этот подход прост, есть некоторые недостатки:
-
Эти рамки постоянно обновляются на
github
. При текущей настройке мне придется подталкивать новую версию пакета каждый раз, когда обновляется какая-либо из этих фреймворков. -
Если я сделаю какие-либо изменения по умолчанию
css
иjs
, которые поставляются с этими фреймворками, тогда мне нужно тщательно объединить обновления, чтобы я не потерялslidify
определенные настройки.
У меня было несколько мыслей о том, как управлять этим.
-
Не упаковывайте эти библиотеки с помощью
slidify
. Вместо этого предоставьтеfunction
, который позволит пользователям добавлять необходимые им рамки. -
Добавьте эти фреймворки в папку
inst\libraries
наslidify
, но какsubmodules
. Теперь я не знаю, добавить ли их какsubmodules
, чтобы они были установлены, если кто-то должен был использоватьdevtools::install_github
.
Итак, мой вопрос заключается в написании пакета R, как я могу управлять внешними зависимостями, отличными от R, которые постоянно обновляются?