[R-pkg-devel] [Rd] static html vignette
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Thu Jan 4 21:23:06 CET 2024
On 04/01/2024 11:43 a.m., Adrian Dușa wrote:
> (Moved here following Ivan's suggestion)
>
> On Thu, Jan 4, 2024 at 12:55 PM Ivan Krylov <krylov.r00t using gmail.com>
wrote:
>
>> On Thu, 4 Jan 2024 11:57:15 +0200
>> Adrian Dușa <dusa.adrian using gmail.com> wrote:
>>
>>> I wonder if it would be possible to include an html static vignette.
>>
>> I would say that static vignettes are against the spirit of vignettes:
>> the idea is to provide another layer of unit testing to the package by
>> providing a deeper executable example than is possible with just Rd
>> examples. I think that Bioconductor will even refuse a package with a
>> vignette with no executable code in it.
>>
>
> I understand that perfectly, but for instance my package declared already
> has over 800 tests and 100% code coverage. More unit testing in the
> vignettes really strikes as unnecessary.
>
> One other reason to use a static vignette, in my case, is that package
> Sweave is not available for my version of R (on MacOS, M2 version)
As far as I know, there is no package called Sweave, there's just the
Sweave() function in the utils package.>
>
>
>> Still, you can ue the R.rsp package to provide static vignettes in
>> both PDF and HTML formats:
>>
>>
https://cran.r-project.org/package=R.rsp/vignettes/R_packages-Static_PDF_and_HTML_vignettes.pdf
>>
>> This will add 6 packages to your total Suggests budget:
>>
>> setdiff(
>> unlist(package_dependencies('R.rsp', recursive=TRUE)),
>> unlist(standard_package_names())
>> )
>> # [1] "R.methodsS3" "R.oo" "R.utils" "R.cache" "digest"
>
>
> Yes indeed, I know about R.rsp.
> To me at least, zero dependency means that users install that package and
> that package alone, the reason for which I am now looking for static
> (preferably html) vignettes.
>
> I guess another question is why should the "Suggests" packages need to be
> installed by end users. I understand CRAN checks need to make sure the
> Vignettes can be processed and the code inside runs fine (just like the
> examples in the Rd files) but it is very unlikely that end-users will
want
> to compile the vignettes themselves.
>
> From my own experience of almost 20 years of using R, I never-ever build
> the vignettes of a certain package because it is much simpler to read
them
> on CRAN. I wonder, then, why are end users forced to install
> Vignette-building "Suggests" packages (with long dependency chains) when
> they practically never do that.
>
> Life would be much simpler if the Suggests packages would not be
> (automatically) installed, or if CRAN provided a way to include static
> Vignettes to avoid the heavy dependencies of building them.
>
Users aren't forced to install "Suggests" packages. That's a choice
they make. The default for `install.packages()` is `dependencies = NA`,
which says to install hard dependencies (Imports, Depends, LinkingTo).
Users have to choose a non-default setting to include Suggests.
Duncan Murdoch
More information about the R-package-devel
mailing list