From e530b786e28723a091ec9f5b1a1b2cd40d495c5d Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Sun, 28 Dec 2025 16:52:10 +0100 Subject: [PATCH 1/5] add codetools for vignettes --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index e0e90471f..56731b2b0 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -3,7 +3,7 @@ Version: 1.18.99 Title: Extension of `data.frame` Depends: R (>= 3.5.0) Imports: methods -Suggests: bit64 (>= 4.0.0), bit (>= 4.0.4), R.utils, xts, zoo (>= 1.8-1), yaml, litedown +Suggests: bit64 (>= 4.0.0), bit (>= 4.0.4), R.utils, xts, zoo (>= 1.8-1), yaml, litedown, codetools Enhances: knitr, xfun Description: Fast aggregation of large data (e.g. 100GB in RAM), fast ordered joins, fast add/modify/delete of columns by group using no copies at all, list columns, friendly and fast character-separated-value read/write. Offers a natural and flexible syntax, for faster development. License: MPL-2.0 | file LICENSE From bea9a455caebc52b1cf6bcff80bc3ff2a381e919 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Sun, 28 Dec 2025 17:36:37 +0100 Subject: [PATCH 2/5] fix brackets of dontshow --- man/update_dev_pkg.Rd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/man/update_dev_pkg.Rd b/man/update_dev_pkg.Rd index 66fff0422..78b0386b4 100644 --- a/man/update_dev_pkg.Rd +++ b/man/update_dev_pkg.Rd @@ -34,7 +34,8 @@ Invisibly \code{TRUE} if package was updated, otherwise \code{FALSE}. } \examples{ -\dontshow{ # using if(FALSE) because \dontrun could still be run by --run-dontrun; #5421 } +\dontshow{ # using if(FALSE) because \dontrun could still be run by --run-dontrun; #5421 +} if (FALSE) data.table::update_dev_pkg() } \seealso{ From 1a2ace3b2345ca188c22afdd7752ca16eab240e6 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Sun, 28 Dec 2025 17:53:23 +0100 Subject: [PATCH 3/5] make links lowercase to make pkgdown happy --- DESCRIPTION | 2 +- R/devel.R | 4 ++-- vignettes/_translation_links.R | 11 +++++++++-- vignettes/datatable-sd-usage.Rmd | 2 +- vignettes/fr/datatable-sd-usage.Rmd | 2 +- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 56731b2b0..a3f87c909 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -7,7 +7,7 @@ Suggests: bit64 (>= 4.0.0), bit (>= 4.0.4), R.utils, xts, zoo (>= 1.8-1), yaml, Enhances: knitr, xfun Description: Fast aggregation of large data (e.g. 100GB in RAM), fast ordered joins, fast add/modify/delete of columns by group using no copies at all, list columns, friendly and fast character-separated-value read/write. Offers a natural and flexible syntax, for faster development. License: MPL-2.0 | file LICENSE -URL: https://r-datatable.com, https://Rdatatable.gitlab.io/data.table, https://github.com/Rdatatable/data.table +URL: https://r-datatable.com, https://rdatatable.gitlab.io/data.table, https://github.com/Rdatatable/data.table BugReports: https://github.com/Rdatatable/data.table/issues VignetteBuilder: litedown Encoding: UTF-8 diff --git a/R/devel.R b/R/devel.R index 3807a6205..d591e28b7 100644 --- a/R/devel.R +++ b/R/devel.R @@ -17,7 +17,7 @@ dcf.repo = function(pkg, repo, field, type) { dcf[dcf[,"Package"]==pkg, field][[1L]] } -update_dev_pkg = function(pkg="data.table", repo="https://Rdatatable.gitlab.io/data.table", field="Revision", type=getOption("pkgType"), lib=NULL, ...) { +update_dev_pkg = function(pkg="data.table", repo="https://rdatatable.gitlab.io/data.table", field="Revision", type=getOption("pkgType"), lib=NULL, ...) { # this works for any package, not just data.table # perform package upgrade when new Revision present stopifnot(is.character(pkg), length(pkg)==1L, !is.na(pkg), @@ -50,7 +50,7 @@ update_dev_pkg = function(pkg="data.table", repo="https://Rdatatable.gitlab.io/d .git = function(quiet=FALSE, lib.loc=NULL) { ans = unname(read.dcf(system.file("DESCRIPTION", package="data.table", lib.loc=lib.loc, mustWork=TRUE), fields="Revision")[, "Revision"]) if (!quiet && is.na(ans)) - catf("Git revision is not available. Most likely data.table was installed from CRAN or local archive.\nGit revision is available when installing from our repositories 'https://Rdatatable.gitlab.io/data.table' and 'https://Rdatatable.github.io/data.table'.\n") + catf("Git revision is not available. Most likely data.table was installed from CRAN or local archive.\nGit revision is available when installing from our repositories 'https://rdatatable.gitlab.io/data.table' and 'https://Rdatatable.github.io/data.table'.\n") ans } diff --git a/vignettes/_translation_links.R b/vignettes/_translation_links.R index d384f43e3..21e0c184d 100644 --- a/vignettes/_translation_links.R +++ b/vignettes/_translation_links.R @@ -1,8 +1,15 @@ # build a link list of alternative languages (may be character(0)) # idea is to look like 'Other languages: en | fr | de' .write.translation.links <- function(fmt) { + # Check if we're in a litedown context + input_file = litedown::get_context("input") + if (is.null(input_file) || !is.character(input_file) || length(input_file) == 0) { + # Not in litedown context (e.g., being rendered by rmarkdown/pkgdown) + return("") + } + url = "https://rdatatable.gitlab.io/data.table/articles" - path = dirname(litedown::get_context("input")) + path = dirname(input_file) if (basename(path) == "vignettes") { lang = "en" } else { @@ -11,7 +18,7 @@ } translation = dir(path, recursive = TRUE, - pattern = glob2rx(litedown::get_context("input")) + pattern = glob2rx(input_file) ) transl_lang = ifelse(dirname(translation) == ".", "en", dirname(translation)) block = if (!all(transl_lang == lang)) { diff --git a/vignettes/datatable-sd-usage.Rmd b/vignettes/datatable-sd-usage.Rmd index 6b21b5117..8f4f5bde6 100644 --- a/vignettes/datatable-sd-usage.Rmd +++ b/vignettes/datatable-sd-usage.Rmd @@ -234,7 +234,7 @@ Teams[ , .SD[which.max(R)], by = teamID] Note that this approach can of course be combined with `.SDcols` to return only portions of the `data.table` for each `.SD` (with the caveat that `.SDcols` should be fixed across the various subsets). -_NB_: `.SD[1L]` is currently optimized by [_`GForce`_](https://Rdatatable.gitlab.io/data.table/library/data.table/html/datatable-optimize.html) ([see also](https://stackoverflow.com/questions/22137591/about-gforce-in-data-table-1-9-2)), `data.table` internals which massively speed up the most common grouped operations like `sum` or `mean` -- see `?GForce` for more details and keep an eye on/voice support for feature improvement requests for updates on this front: [1](https://github.com/Rdatatable/data.table/issues/735), [2](https://github.com/Rdatatable/data.table/issues/2778), [3](https://github.com/Rdatatable/data.table/issues/523), [4](https://github.com/Rdatatable/data.table/issues/971), [5](https://github.com/Rdatatable/data.table/issues/1197), [6](https://github.com/Rdatatable/data.table/issues/1414). +_NB_: `.SD[1L]` is currently optimized by [_`GForce`_](https://rdatatable.gitlab.io/data.table/library/data.table/html/datatable-optimize.html) ([see also](https://stackoverflow.com/questions/22137591/about-gforce-in-data-table-1-9-2)), `data.table` internals which massively speed up the most common grouped operations like `sum` or `mean` -- see `?GForce` for more details and keep an eye on/voice support for feature improvement requests for updates on this front: [1](https://github.com/Rdatatable/data.table/issues/735), [2](https://github.com/Rdatatable/data.table/issues/2778), [3](https://github.com/Rdatatable/data.table/issues/523), [4](https://github.com/Rdatatable/data.table/issues/971), [5](https://github.com/Rdatatable/data.table/issues/1197), [6](https://github.com/Rdatatable/data.table/issues/1414). ## Grouped Regression diff --git a/vignettes/fr/datatable-sd-usage.Rmd b/vignettes/fr/datatable-sd-usage.Rmd index bc6467b24..a613e763a 100644 --- a/vignettes/fr/datatable-sd-usage.Rmd +++ b/vignettes/fr/datatable-sd-usage.Rmd @@ -234,7 +234,7 @@ Teams[ , .SD[which.max(R)], by = teamID] Notez que cette approche peut bien sûr être combinée avec `.SDcols` pour renvoyer uniquement les portions de `data.table` pour chaque `.SD` (avec la mise en garde que `.SDcols` soit initialisé en fonction des différents sous-ensembles) -*NB* : `.SD[1L]` est actuellement optimisé par [*`GForce`*](https://Rdatatable.gitlab.io/data.table/library/data.table/html/datatable-optimize.html) ([voir aussi](https://stackoverflow.com/questions/22137591/about-gforce-in-data-table-1-9-2)), `data.table` interne qui accélère massivement les opérations groupées les plus courantes comme `sum` ou `mean` -- voir ` ?GForce` pour plus de détails et gardez un oeil sur le support pour les demandes d'amélioration des fonctionnalités pour les mises à jour sur ce front : [1](https://github.com/Rdatatable/data.table/issues/735), [2](https://github.com/Rdatatable/data.table/issues/2778), [3](https://github.com/Rdatatable/data.table/issues/523), [4](https://github.com/Rdatatable/data.table/issues/971), [5](https://github.com/Rdatatable/data.table/issues/1197), [6](https://github.com/Rdatatable/data.table/issues/1414) +*NB* : `.SD[1L]` est actuellement optimisé par [*`GForce`*](https://rdatatable.gitlab.io/data.table/library/data.table/html/datatable-optimize.html) ([voir aussi](https://stackoverflow.com/questions/22137591/about-gforce-in-data-table-1-9-2)), `data.table` interne qui accélère massivement les opérations groupées les plus courantes comme `sum` ou `mean` -- voir ` ?GForce` pour plus de détails et gardez un oeil sur le support pour les demandes d'amélioration des fonctionnalités pour les mises à jour sur ce front : [1](https://github.com/Rdatatable/data.table/issues/735), [2](https://github.com/Rdatatable/data.table/issues/2778), [3](https://github.com/Rdatatable/data.table/issues/523), [4](https://github.com/Rdatatable/data.table/issues/971), [5](https://github.com/Rdatatable/data.table/issues/1197), [6](https://github.com/Rdatatable/data.table/issues/1414) ## Régression groupée From c150fea043e7686244ff653d48974d37886d8133 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Sun, 28 Dec 2025 18:20:22 +0100 Subject: [PATCH 4/5] reset translation links --- vignettes/_translation_links.R | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/vignettes/_translation_links.R b/vignettes/_translation_links.R index 21e0c184d..d384f43e3 100644 --- a/vignettes/_translation_links.R +++ b/vignettes/_translation_links.R @@ -1,15 +1,8 @@ # build a link list of alternative languages (may be character(0)) # idea is to look like 'Other languages: en | fr | de' .write.translation.links <- function(fmt) { - # Check if we're in a litedown context - input_file = litedown::get_context("input") - if (is.null(input_file) || !is.character(input_file) || length(input_file) == 0) { - # Not in litedown context (e.g., being rendered by rmarkdown/pkgdown) - return("") - } - url = "https://rdatatable.gitlab.io/data.table/articles" - path = dirname(input_file) + path = dirname(litedown::get_context("input")) if (basename(path) == "vignettes") { lang = "en" } else { @@ -18,7 +11,7 @@ } translation = dir(path, recursive = TRUE, - pattern = glob2rx(input_file) + pattern = glob2rx(litedown::get_context("input")) ) transl_lang = ifelse(dirname(translation) == ".", "en", dirname(translation)) block = if (!all(transl_lang == lang)) { From 0395e83a19322a9a92be527aab6f817042019cf3 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Mon, 29 Dec 2025 11:13:46 +0100 Subject: [PATCH 5/5] use lowercase rdatatable.git consistently --- NEWS.0.md | 2 +- R/devel.R | 2 +- man/update_dev_pkg.Rd | 6 +++--- po/R-data.table.pot | 2 +- po/R-es.po | 6 +++--- po/R-fr.po | 4 ++-- po/R-pt_BR.po | 4 ++-- po/R-ru.po | 4 ++-- po/R-zh_CN.po | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/NEWS.0.md b/NEWS.0.md index 0f2d24a1a..4ed7e8985 100644 --- a/NEWS.0.md +++ b/NEWS.0.md @@ -295,7 +295,7 @@ 16. `merge.data.table` will raise warning if any of data.tables to join has 0 columns. Closes [#597](https://github.com/Rdatatable/data.table/issues/597). - 17. Travis-CI will now automatically deploy package to drat repository hosted on [data.table@gh-pages](https://github.com/Rdatatable/data.table/tree/gh-pages) branch allowing to install latest devel from **source** via `install.packages("data.table", repos = "https://Rdatatable.github.io/data.table", type = "source")`. Closes [#1505](https://github.com/Rdatatable/data.table/issues/1505). + 17. Travis-CI will now automatically deploy package to drat repository hosted on [data.table@gh-pages](https://github.com/Rdatatable/data.table/tree/gh-pages) branch allowing to install latest devel from **source** via `install.packages("data.table", repos = "https://rdatatable.github.io/data.table", type = "source")`. Closes [#1505](https://github.com/Rdatatable/data.table/issues/1505). 18. Dependency on `chron` package has been changed to *suggested*. Closes [#1558](https://github.com/Rdatatable/data.table/issues/1558). diff --git a/R/devel.R b/R/devel.R index d591e28b7..b7745dfad 100644 --- a/R/devel.R +++ b/R/devel.R @@ -50,7 +50,7 @@ update_dev_pkg = function(pkg="data.table", repo="https://rdatatable.gitlab.io/d .git = function(quiet=FALSE, lib.loc=NULL) { ans = unname(read.dcf(system.file("DESCRIPTION", package="data.table", lib.loc=lib.loc, mustWork=TRUE), fields="Revision")[, "Revision"]) if (!quiet && is.na(ans)) - catf("Git revision is not available. Most likely data.table was installed from CRAN or local archive.\nGit revision is available when installing from our repositories 'https://rdatatable.gitlab.io/data.table' and 'https://Rdatatable.github.io/data.table'.\n") + catf("Git revision is not available. Most likely data.table was installed from CRAN or local archive.\nGit revision is available when installing from our repositories 'https://rdatatable.gitlab.io/data.table' and 'https://rdatatable.github.io/data.table'.\n") ans } diff --git a/man/update_dev_pkg.Rd b/man/update_dev_pkg.Rd index 78b0386b4..64a488b2f 100644 --- a/man/update_dev_pkg.Rd +++ b/man/update_dev_pkg.Rd @@ -5,7 +5,7 @@ Downloads and installs latest development version, only when a new commit is available. Defaults are set to update \code{data.table}, other packages can be used as well. Repository of a package has to include git commit SHA information in PACKAGES file. } \usage{update_dev_pkg(pkg="data.table", - repo="https://Rdatatable.gitlab.io/data.table", + repo="https://rdatatable.gitlab.io/data.table", field="Revision", type=getOption("pkgType"), lib=NULL, \dots) } \arguments{ @@ -23,8 +23,8 @@ In case if a devel repository does not provide binaries user will need development tools installed for package compilation, like \emph{Rtools} on Windows, or alternatively eventually set \code{type="source"}. } \section{data.table repositories}{ - By default the function uses our GitLab-hosted R repository at \code{https://Rdatatable.gitlab.io/data.table}. This repository is updated nightly. It runs multiple test jobs (on top of GitHub tests jobs run upstream) and publish the package (sources and binaries), even if GitLab test jobs are failing. Status of GitLab test jobs can be checked at \href{https://rdatatable.gitlab.io/data.table/web/checks/check_results_data.table.html}{Package Check Results}.\cr - We also publish bleeding edge version of the package on GitHub-hosted R repository at \code{https://Rdatatable.gitlab.io/data.table} (just minor change in url from \emph{lab} to \emph{hub}). GitHub version should be considered less stable than GitLab one. It publishes only package sources.\cr + By default the function uses our GitLab-hosted R repository at \code{https://rdatatable.gitlab.io/data.table}. This repository is updated nightly. It runs multiple test jobs (on top of GitHub tests jobs run upstream) and publish the package (sources and binaries), even if GitLab test jobs are failing. Status of GitLab test jobs can be checked at \href{https://rdatatable.gitlab.io/data.table/web/checks/check_results_data.table.html}{Package Check Results}.\cr + We also publish bleeding edge version of the package on GitHub-hosted R repository at \code{https://rdatatable.gitlab.io/data.table} (just minor change in url from \emph{lab} to \emph{hub}). GitHub version should be considered less stable than GitLab one. It publishes only package sources.\cr There are also other repositories maintained by R community, for example \code{https://rdatatable.r-universe.dev}. Those can be used as well, but as they are unlikely to provide git commit SHA, the function will install the package even if latest version is already installed. } \note{ diff --git a/po/R-data.table.pot b/po/R-data.table.pot index 960681dd7..b6b7e06a2 100644 --- a/po/R-data.table.pot +++ b/po/R-data.table.pot @@ -1417,7 +1417,7 @@ msgid "" "Git revision is not available. Most likely data.table was installed from " "CRAN or local archive.\n" "Git revision is available when installing from our repositories 'https://" -"Rdatatable.gitlab.io/data.table' and 'https://Rdatatable.github.io/data." +"rdatatable.gitlab.io/data.table' and 'https://rdatatable.github.io/data." "table'." msgstr "" diff --git a/po/R-es.po b/po/R-es.po index 0333c416d..156b90c42 100644 --- a/po/R-es.po +++ b/po/R-es.po @@ -1736,13 +1736,13 @@ msgid "" "Git revision is not available. Most likely data.table was installed from " "CRAN or local archive.\n" "Git revision is available when installing from our repositories 'https://" -"Rdatatable.gitlab.io/data.table' and 'https://Rdatatable.github.io/data." +"rdatatable.gitlab.io/data.table' and 'https://rdatatable.github.io/data." "table'." msgstr "" "Revisión de Git no disponible. Probablmeente instaló data.table desde CRAN o " "desde un arcihvo local. La revisión de Git está disponible cuando se instala " -"data.table desde nuestros repositorios 'https://Rdatatable.gitlab.io/data." -"table' y 'https://Rdatatable.github.io/data.table'." +"data.table desde nuestros repositorios 'https://rdatatable.gitlab.io/data." +"table' y 'https://rdatatable.github.io/data.table'." #: duplicated.R:7 #, c-format diff --git a/po/R-fr.po b/po/R-fr.po index 16bcb6655..a2d9d1fe0 100644 --- a/po/R-fr.po +++ b/po/R-fr.po @@ -1765,13 +1765,13 @@ msgid "" "Git revision is not available. Most likely data.table was installed from " "CRAN or local archive.\n" "Git revision is available when installing from our repositories 'https://" -"Rdatatable.gitlab.io/data.table' and 'https://Rdatatable.github.io/data." +"rdatatable.gitlab.io/data.table' and 'https://rdatatable.github.io/data." "table'." msgstr "" "La révision Git n'est pas disponible. Probablement data.table a été installé " "de CRAN ou d'une archive locale.\n" "La révision Git est disponible quand l'installation se fait à partir de nos " -"dépôts 'https://Rdatatable.gitlab.io/data.table' et 'https://Rdatatable." +"dépôts 'https://rdatatable.gitlab.io/data.table' et 'https://rdatatable." "github.io/data.table'." #: duplicated.R:7 diff --git a/po/R-pt_BR.po b/po/R-pt_BR.po index 006e4b3fc..230f55c97 100644 --- a/po/R-pt_BR.po +++ b/po/R-pt_BR.po @@ -1733,13 +1733,13 @@ msgid "" "Git revision is not available. Most likely data.table was installed from " "CRAN or local archive.\n" "Git revision is available when installing from our repositories 'https://" -"Rdatatable.gitlab.io/data.table' and 'https://Rdatatable.github.io/" +"rdatatable.gitlab.io/data.table' and 'https://rdatatable.github.io/" "data.table'." msgstr "" "A revisão do Git não está disponível. Provavelmente data.table foi instalado " "do CRAN ou do arquivo local.\n" "A revisão do Git está disponível ao instalar de nossos repositórios 'https://" -"Rdatatable.gitlab.io/data.table' e 'https://Rdatatable.github.io/data.table'." +"rdatatable.gitlab.io/data.table' e 'https://rdatatable.github.io/data.table'." #: duplicated.R:7 #, c-format diff --git a/po/R-ru.po b/po/R-ru.po index dd38b3a33..f8e3f8b51 100644 --- a/po/R-ru.po +++ b/po/R-ru.po @@ -1733,13 +1733,13 @@ msgid "" "Git revision is not available. Most likely data.table was installed from " "CRAN or local archive.\n" "Git revision is available when installing from our repositories 'https://" -"Rdatatable.gitlab.io/data.table' and 'https://Rdatatable.github.io/data." +"rdatatable.gitlab.io/data.table' and 'https://rdatatable.github.io/data." "table'." msgstr "" "Не указан Git-коммит для установленной версии data.table. Вероятно, пакет " "был установлен с CRAN (или из локального архива).\n" "Git-коммит станет известен при установке из наших репозиториев 'https://" -"Rdatatable.gitlab.io/data.table' и 'https://Rdatatable.github.io/data.table'." +"rdatatable.gitlab.io/data.table' и 'https://rdatatable.github.io/data.table'." #: duplicated.R:7 #, c-format diff --git a/po/R-zh_CN.po b/po/R-zh_CN.po index f285b0d18..632b6ff07 100644 --- a/po/R-zh_CN.po +++ b/po/R-zh_CN.po @@ -1577,7 +1577,7 @@ msgid "" "Git revision is not available. Most likely data.table was installed from " "CRAN or local archive.\n" "Git revision is available when installing from our repositories 'https://" -"Rdatatable.gitlab.io/data.table' and 'https://Rdatatable.github.io/" +"rdatatable.gitlab.io/data.table' and 'https://rdatatable.github.io/" "data.table'." msgstr ""