Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
fedc6ef
add first steps
ben-schwen Oct 19, 2024
b1f1adb
add litedown R CMD check occasional
ben-schwen Oct 19, 2024
2fc3ddc
remove knitr::opts_chunk
ben-schwen Oct 19, 2024
ac1fb44
set comment char
ben-schwen Oct 19, 2024
905586d
add error option
ben-schwen Oct 19, 2024
1c14712
update comment char
ben-schwen Oct 20, 2024
aa7bdad
adjust print
ben-schwen Nov 2, 2024
071078c
remove space
ben-schwen Nov 2, 2024
1f347bd
fix namespace
ben-schwen Nov 2, 2024
e1d0c6f
Update vignettes/datatable-benchmarking.Rmd
ben-schwen Mar 8, 2025
4e7809f
use yihuis suggestions
ben-schwen Mar 8, 2025
c653cf6
Merge branch 'master' into litedown
ben-schwen Mar 8, 2025
4bacd15
upd translation script and r -> {r} code blocks
rikivillalba Mar 9, 2025
a1819e1
Merge branch 'master' into litedown
ben-schwen Mar 24, 2025
5ed155d
move knitr tests
ben-schwen Mar 24, 2025
e1329dd
Merge branch 'master' into litedown
ben-schwen Apr 21, 2025
e4b7912
Enhances: knitr
aitap Apr 22, 2025
1e191d5
Register xfun::record_print method for data.table
aitap Apr 22, 2025
0cfa02a
Merge branch 'master' into litedown
ben-schwen Jul 7, 2025
58b767d
add nocov
ben-schwen Jul 7, 2025
9759281
add nocov for knitr_print
ben-schwen Jul 7, 2025
9f35906
nocov range
MichaelChirico Jul 8, 2025
9a49b1d
Add missing periods.
aitap Jul 8, 2025
010c238
Fix footnote
aitap Jul 8, 2025
d01e83c
Fix remaining `r ...` expressions
aitap Jul 8, 2025
d9300ad
Merge branch 'master' into litedown
ben-schwen Jul 28, 2025
e32a5db
update joins vignette
ben-schwen Jul 28, 2025
a6afc0a
set/unset threads
ben-schwen Jul 28, 2025
bae1e3c
sys.date
ben-schwen Jul 28, 2025
ea7eec4
add xfun to enhances
ben-schwen Jul 28, 2025
cc9bf5d
add litedown mock
ben-schwen Jul 30, 2025
de27098
Merge branch 'master' into litedown
ChristianWia Sep 12, 2025
3d62dc3
translation links knitr compatible
rikivillalba Oct 27, 2025
55227bc
code block for automatic translation links
rikivillalba Oct 27, 2025
be197d9
change `{r} Sys.date()` by !r Sys.date() in YAML header
rikivillalba Oct 28, 2025
1285908
translation script tweaks
rikivillalba Oct 28, 2025
f7c2dbf
Merge branch 'master' into litedown.pkgdown_compat
ben-schwen Dec 28, 2025
72c8217
cleanup merge conflicts
ben-schwen Dec 28, 2025
d63ebed
cleanup merge
ben-schwen Dec 28, 2025
74b213a
cleanup translation links
ben-schwen Dec 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 36 additions & 20 deletions vignettes/_translation_links.R
Original file line number Diff line number Diff line change
@@ -1,23 +1,39 @@
# 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) {
url = "https://rdatatable.gitlab.io/data.table/articles"
path = dirname(litedown::get_context("input"))
if (basename(path) == "vignettes") {
lang = "en"
} else {
lang = basename(path)
path = dirname(path)
}
translation = dir(path,
recursive = TRUE,
pattern = glob2rx(litedown::get_context("input"))
)
transl_lang = ifelse(dirname(translation) == ".", "en", dirname(translation))
block = if (!all(transl_lang == lang)) {
linked_transl = sprintf("[%s](%s)", transl_lang, file.path(url, sub("(?i)\\.Rmd$", ".html", translation)))
linked_transl[transl_lang == lang] = lang
sprintf(fmt, paste(linked_transl, collapse = " | "))
} else ""
litedown::raw_text(block)
.write.translation.links <- function() {
url = "https://rdatatable.gitlab.io/data.table/articles"
# this guard is needed because pkgdown::build_article does not use litedown
# https://github.com/yihui/knitr/issues/926#issuecomment-68503962
knitr = isTRUE(getOption('knitr.in.progress'))
if (knitr) {
path = knitr::current_input(TRUE)
i18n_msg = knitr::opts_current$get("i18n_msg")
} else {
path = normalizePath(litedown::get_context("input"))
i18n_msg = litedown::reactor("i18n_msg")
}
rmdfile = basename(path)
rmddir = dirname(path)
if (basename(rmddir) == "vignettes") {
lang = "en"
main_dir = rmddir
} else {
lang = basename(rmddir)
main_dir = dirname(rmddir) # should be "vignettes"
}
# search for translated rmd's with same name in subfolders
translation = dir(main_dir, recursive = TRUE, pattern = glob2rx(rmdfile))
transl_lang = dirname(translation)
transl_lang[transl_lang == "."] = "en"
if (any(transl_lang != lang)) {
link_path = file.path(url, sub("(?i)\\.Rmd$", ".html", translation))
linked_transl = sprintf("[%s](%s)", transl_lang, link_path)
linked_transl[transl_lang == lang] = lang
block = sprintf(i18n_msg, paste(linked_transl, collapse = " | "))
} else {
block = ""
}
cat(block)

}
.write.translation.links()
5 changes: 2 additions & 3 deletions vignettes/datatable-benchmarking.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Benchmarking data.table"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format:
options:
Expand Down Expand Up @@ -30,9 +30,8 @@ h2 {
}
</style>

```{r, echo=FALSE, file='_translation_links.R'}
```{r, echo=FALSE, results='asis', file='_translation_links.R', i18n_msg='Translations of this document are available in: %s'}
```
`{r} .write.translation.links("Translations of this document are available in: %s")`

This document is meant to guide on measuring performance of `data.table`. Single place to document best practices and traps to avoid.

Expand Down
5 changes: 2 additions & 3 deletions vignettes/datatable-faq.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Frequently Asked Questions about data.table"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format:
options:
Expand All @@ -26,9 +26,8 @@ h2 {
}
</style>

```{r, echo=FALSE, file='_translation_links.R'}
```{r, echo=FALSE, results='asis', file='_translation_links.R', i18n_msg='Translations of this document are available in: %s'}
```
`{r} .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
library(data.table)
Expand Down
3 changes: 1 addition & 2 deletions vignettes/datatable-fread-and-fwrite.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r echo=FALSE, file='_translation_links.R'}
```{r, echo=FALSE, results='asis', file='_translation_links.R', i18n_msg='Translations of this document are available in: %s'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
Expand Down
5 changes: 2 additions & 3 deletions vignettes/datatable-importing.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Importing data.table"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format
vignette: >
Expand All @@ -20,9 +20,8 @@ h2 {
}
</style>

```{r, echo=FALSE, file='_translation_links.R'}
```{r, echo=FALSE, results='asis', file='_translation_links.R', i18n_msg='Translations of this document are available in: %s'}
```
`{r} .write.translation.links("Translations of this document are available in: %s")`

This document is focused on using `data.table` as a dependency in other R packages. If you are interested in using `data.table` C code from a non-R application, or in calling its C functions directly, jump to the [last section](#non-r-api) of this vignette.

Expand Down
5 changes: 2 additions & 3 deletions vignettes/datatable-intro.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Introduction to data.table"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format
vignette: >
Expand All @@ -9,9 +9,8 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r, echo=FALSE, file='_translation_links.R'}
```{r, echo=FALSE, results='asis', file='_translation_links.R', i18n_msg='Translations of this document are available in: %s'}
```
`{r} .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
library(data.table)
Expand Down
5 changes: 2 additions & 3 deletions vignettes/datatable-joins.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Joins in data.table"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format
vignette: >
Expand All @@ -16,9 +16,8 @@ library(data.table)
litedown::reactor(comment = "# ")
```

```{r, echo=FALSE, file='_translation_links.R'}
```{r, echo=FALSE, results='asis', file='_translation_links.R', i18n_msg='Translations of this document are available in: %s'}
```
`{r} .write.translation.links("Translations of this document are available in: %s")`

In this vignette you will learn how to perform any join operation using resources available in the `data.table` syntax.

Expand Down
5 changes: 2 additions & 3 deletions vignettes/datatable-keys-fast-subset.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Keys and fast binary search based subset"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format
vignette: >
Expand All @@ -9,9 +9,8 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r, echo=FALSE, file='_translation_links.R'}
```{r, echo=FALSE, results='asis', file='_translation_links.R', i18n_msg='Translations of this document are available in: %s'}
```
`{r} .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
library(data.table)
Expand Down
5 changes: 2 additions & 3 deletions vignettes/datatable-programming.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Programming on data.table"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format
vignette: >
Expand All @@ -9,9 +9,8 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r, echo=FALSE, file='_translation_links.R'}
```{r, echo=FALSE, results='asis', file='_translation_links.R', i18n_msg='Translations of this document are available in: %s'}
```
`{r} .write.translation.links("Translations of this document are available in: %s")`

```{r init, include = FALSE}
require(data.table)
Expand Down
5 changes: 2 additions & 3 deletions vignettes/datatable-reference-semantics.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Reference semantics"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format
vignette: >
Expand All @@ -9,9 +9,8 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r, echo=FALSE, file='_translation_links.R'}
```{r, echo=FALSE, results='asis', file='_translation_links.R', i18n_msg='Translations of this document are available in: %s'}
```
`{r} .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
library(data.table)
Expand Down
5 changes: 2 additions & 3 deletions vignettes/datatable-reshape.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Efficient reshaping using data.tables"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format
vignette: >
Expand All @@ -9,9 +9,8 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r, echo=FALSE, file='_translation_links.R'}
```{r, echo=FALSE, results='asis', file='_translation_links.R', i18n_msg='Translations of this document are available in: %s'}
```
`{r} .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
library(data.table)
Expand Down
5 changes: 2 additions & 3 deletions vignettes/datatable-sd-usage.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Using .SD for Data Analysis"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format:
options:
Expand All @@ -21,9 +21,8 @@ vignette: >
}
</style>

```{r, echo=FALSE, file='_translation_links.R'}
```{r, echo=FALSE, results='asis', file='_translation_links.R', i18n_msg='Translations of this document are available in: %s'}
```
`{r} .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
library(data.table)
Expand Down
5 changes: 2 additions & 3 deletions vignettes/datatable-secondary-indices-and-auto-indexing.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Secondary indices and auto indexing"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format
vignette: >
Expand All @@ -9,9 +9,8 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r, echo=FALSE, file='_translation_links.R'}
```{r, echo=FALSE, results='asis', file='_translation_links.R', i18n_msg='Translations of this document are available in: %s'}
```
`{r} .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
library(data.table)
Expand Down
5 changes: 2 additions & 3 deletions vignettes/fr/datatable-benchmarking.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Analyse comparative (benchmark) de data.table"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
markdown::html_format:
options:
Expand All @@ -18,9 +18,8 @@ h2 {
}
</style>

```{r, echo=FALSE, file='../_translation_links.R'}
```{r, echo=FALSE, results='asis', file='../_translation_links.R', i18n_msg='Une traduction de ce document est disponible en : %s'}
```
`{r} .write.translation.links("Une traduction de ce document est disponible en : %s")`

Ce document a pour but de guider la mesure de la performance de `data.table`. Il centralise la documentation des meilleures pratiques et des pièges à éviter.

Expand Down
5 changes: 2 additions & 3 deletions vignettes/fr/datatable-faq.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Foire aux questions de data.table"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
markdown::html_format:
options:
Expand All @@ -26,9 +26,8 @@ h2 {
}
</style>

```{r, echo=FALSE, file='../_translation_links.R'}
```{r, echo=FALSE, results='asis', file='../_translation_links.R', i18n_msg='Une traduction de ce document est disponible en : %s'}
```
`{r} .write.translation.links("Une traduction de ce document est disponible en : %s")`

```{r, echo = FALSE, message = FALSE}
library(data.table)
Expand Down
5 changes: 2 additions & 3 deletions vignettes/fr/datatable-fread-and-fwrite.Rmd
Copy link
Contributor

@ChristianWia ChristianWia Oct 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rikivillalba ? you do not change the date with date: !r Sys.Date()
Same remark applies to the EN vignette.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Lecture et écriture rapides"
date: "`r Sys.Date()`"
date: !r Sys.Date()
output:
markdown::html_format
vignette: >
Expand All @@ -9,9 +9,8 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r echo=FALSE, file='../_translation_links.R'}
```{r, echo=FALSE, results='asis', file='../_translation_links.R', i18n_msg='Une traduction de ce document est disponible en : %s'}
```
`{r} .write.translation.links("Une traduction de ce document est disponible en : %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
Expand Down
5 changes: 2 additions & 3 deletions vignettes/fr/datatable-importing.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Importation dans data.table"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format
vignette: >
Expand All @@ -20,9 +20,8 @@ h2 {
}
</style>

```{r, echo=FALSE, file='../_translation_links.R'}
```{r, echo=FALSE, results='asis', file='../_translation_links.R', i18n_msg='Une traduction de ce document est disponible en : %s'}
```
`{r} .write.translation.links("Une traduction de ce document est disponible en : %s")`

Ce document se concentre sur l'utilisation de `data.table` comme dépendance dans d'autres packages R. Si vous souhaitez utiliser le code C de `data.table` à partir d'une application non-R, ou appeler directement ses fonctions C, passez à la [dernière section](#non-r-API) de cette vignette.

Expand Down
5 changes: 2 additions & 3 deletions vignettes/fr/datatable-intro.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Introduction à data.table"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
markdown::html_format
vignette: >
Expand All @@ -9,9 +9,8 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r, echo=FALSE, file='../_translation_links.R'}
```{r, echo=FALSE, results='asis', file='../_translation_links.R', i18n_msg='Une traduction de ce document est disponible en : %s'}
```
`{r} .write.translation.links("Une traduction de ce document est disponible en : %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
Expand Down
5 changes: 2 additions & 3 deletions vignettes/fr/datatable-joins.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Jointures avec data.table"
date: "`{r} Sys.Date()`"
date: !r Sys.Date()
output:
litedown::html_format
vignette: >
Expand All @@ -16,9 +16,8 @@ require(data.table)
litedown::reactor(comment = "# ")
```

```{r, echo=FALSE, file='../_translation_links.R'}
```{r, echo=FALSE, results='asis', file='../_translation_links.R', i18n_msg='Une traduction de ce document est disponible en : %s'}
```
`{r} .write.translation.links("Une traduction de ce document est disponible en : %s")`

Dans cette vignette nous apprendrons à réaliser les opérations de jointure en utilisant les ressources de la syntaxe `data.table`.

Expand Down
Loading
Loading