Note that there are some explanatory texts on larger screens.

plurals
  1. POManaging External Assets in R Package
    primarykey
    data
    text
    <p>I am writing an R package called <code>slidify</code> which makes it easy to generate reproducible HTML5 slides from R Markdown files. The package makes use of <code>css</code> and <code>js</code> files from several existing HTML5 slide generation frameworks like <code>dzslides</code>, <code>deck.js</code> etc. Currently, I have organized the downloaded versions of these external assets in the <code>inst/libraries</code> folder of <code>slidify</code>, so that it is automatically available for users upon installation. While this approach is simple, there are some disadvantages:</p> <ol> <li><p>These frameworks are constantly updated on <code>github</code>. Under the current setup, I would have to push a new version of the package everytime any of these frameworks are updated.</p></li> <li><p>If I make any tweaks to the default <code>css</code> and <code>js</code> that come with these frameworks, then I need to merge the updates carefully so that I don't lose <code>slidify</code> specific customizations.</p></li> </ol> <p>I had a couple of thoughts on how to manage this.</p> <ol> <li><p>Don't package these libraries with <code>slidify</code>. Instead, provide a <code>function</code> that would allow users to add the frameworks they desire.</p></li> <li><p>Add these frameworks to the <code>inst\libraries</code> folder on <code>slidify</code>, but as <code>submodules</code>. Now, I have no idea if adding them as <code>submodules</code> would get them installed if someone were to use <code>devtools::install_github</code>.</p></li> </ol> <p><strong>So my question is, when writing an R package how can I manage external non-R dependencies which are updated constantly?</strong></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload