NEWS.md
New citation("ctv")
: Zeileis A, Bivand R, Eddelbuettel D, Hornik K, Vialaneix N (2023). “CRAN Task Views: The Next Generation.” arXiv 2305.17573, arXiv.org E-Print Archive. doi:10.48550/arXiv.2305.17573.
For CRAN web pages produce <span class="...">pkgname</pkg>
for packages on CRAN, Bioconductor, GitHub, R-Forge, OmegaHat, etc., where the custom classes yield custom colors in the CRAN style.
Updated Bioconductor URLs from bioc("<pkgname>")
tags to https://www.bioconductor.org/packages/<pkgname>
.
Improved and extended documentation for CRAN task view maintainers in vignette("ctv-howto", package = "ctv")
.
CRAN information about packages and archivals is loaded from local files (rather than downloaded) if run on CRAN. Also, it is preserved between subsequent runs of read.ctv(..., cran = TRUE)
(and hence also ctv2html(..., cran = TRUE)
etc.).
read.ctv(..., cran = TRUE)
now warns if a pkg()
is not available from CRAN.
Add Facebook OpenGraph and Twitter tags in task view HTML pages.
New convenience function ctv()
that obtains a single ctv
object with information about a certain task view on CRAN with a given name.
New list element $citation
in ctv
objects containing a citation object inheriting from bibentry
with information on how to cite a task view.
The auxiliary view()
function gained a second argument so that specific sections in other task views can be referenced, e.g., view("Econometrics", "Instrumental variables")
.
Fix typo in task view header it should be install.views()
and update.views()
rather than install.packages()
and update.packages()
.
Fix detection of “core” packages if the priority
is not declared in the first pkg()
call but in subsequent calls.
Improve HTML5 output from ctv2html()
.
Enhance handling of archived packages on CRAN when read.ctv(..., cran = TRUE)
and ctv2html(..., cran = TRUE)
.
Further improvements in ctv2html()
: Generate HTML5 with pandoc
now, improve preservation of link breaks (--wrap=preserve
).
Bug fix in read.ctv()
when pkg(..., priority = "core")
is used more than once on the same package name (reported by Rocio Joo).
Sorting the package list is done ignoring the case now.
Various improvements in ctv2html()
: Include explicit citation in header table, include instructions for contributions and installation (if cran = TRUE
), more compact layout of package list, handle task views without links section correctly.
Bug fix in read.ctv(file)
when file
is actually a full path and not just the name of file in the local working directory.
Make all examples of read.ctv()
conditional on knitr
and rmarkdown
being available (or xml2
being available in case of the legacy XML format).
Various substantial changes to support the launch of the CRAN Task View Initiative: Development and maintenance of CRAN task views will be overseen by a team of CRAN Task View Editors who review and approve new task views and help maintainers with onbaording. Infrastructure for this is moved from R-Forge to GitHub (with only the maintenance of the ctv
package remaining on R-Forge). The file format for task view files changes from the old XML-based format to a new leaner R-Markdown based format.
For the R package ctv
itself there is now a pkgdown web page at: https://ctv.R-Forge.R-project.org/.
The vignette("ctv-howto", package = "ctv")
has been completely rewritten, now describing the new R/Markdown-based format. (The vignette itself is now in HTML rather than in PDF format.)
For processing the legacy XML-based files the xml2
package is used now (instead of the XML
package).
Added <doi>
tag in the legacy XML format to add hyperlinks to DOIs, e.g., <doi>10.18637/jss.v067.i01</doi>
will be turned into https://doi.org/10.18637/jss.v067.i01.
The <gcode>
tag now explicitly resolves to https://code.google.com/archive/ (including the archive/
part) as Google Code has been archived in 2016.
<github>
tag can now be used to refer to projects on GitHub using markup like <github>user/project</github>
.
To support older versions of R (up to R 3.4.3), the server-side tools now explicitly use saveRDS(..., version = 2)
to store task view information.
<url>
that can be used to display an official task view URL (and insert it into the metainformation tags). For CRAN task views the official URL is used by default.check_ctv_packages()
: Packages in <packagelist>
but not in <info>
were not computed correctly.system.file()
instead of .find.package()
in vignette.system.file()
instead of .find.package()
in ?read.ctv
.check_ctv_packages()
for maintainers of CRAN task views. This checks whether <info>
and <packagelist>
are consistent and whether all packages are actually available in the repository.update.views()
gains a filter
argument passed to available.packages()
, so that the packages can be filtered with respect to operating system type or free and open-source license etc.saveRDS()
instead of .saveRDS()
is now used in the server-side tools if available.Avoid usage of ≪
in Cluster.ctv
because it is not processed correctly on all platforms
Further improvement to available.views()
which now uses readRDS()
if available.
available.views()
for R 2.13.0 as the underlying .readRDS()
needed to be changed.Added download.views()
function (as suggested by Peter Ruckdeschel).
Restructured internals of install.views()
and update.views()
so that all three functions can use the same code for determining the list of packages that is going to be installed/updated/downloaded.
update.views()
was updated reflecting that bundles are not supported anymore.subset()
.grep(..., extended = FALSE)
replaced by the more appropriate grep(..., fixed = TRUE)
.In .ctv files a new tag is allowed: <ohat>
for links to Omegahat projects.
The tags <rforge>
and <gcode>
replace the previous <forge>
and <googlecode>
, respectively, in order to be more consistent with the terminology used in the CRAN Web pages.
Further improvements of server-side tools in order to provide tidy XHTML code.
The default style file included in the server-side tools is now CRAN_web.css
(rather than R.css
).
read.ctv()
and ctv2html()
now try harder to provide tidy XHTML code.install.views()
and update.views()
: Argument dependencies = TRUE
has been removed (but can still be specified through ...
). Hence, by default, the defaults of install.packages()
are inherited. However, it is still possible to get the prior behaviour by setting dependencies explicitly in install.views()
/update.views()
.