From 0a56fa0297553d06eac119233cedc1a492745ce4 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Fri, 26 Dec 2025 23:38:50 +0100 Subject: [PATCH 01/25] first try litedown instead of pkgdown --- .gitignore | 9 +- .gitlab-ci.yml | 25 ++- _pkgdown.yml | 2 +- site/_litedown.yml | 22 +++ site/_navbar.html | 54 ++++++ .../assets/datatable_cheatsheet.pdf | Bin .../assets/datatable_cheatsheet_fr.pdf | Bin .../favicon/apple-touch-icon-120x120.png | Bin 0 -> 12821 bytes .../favicon/apple-touch-icon-152x152.png | Bin 0 -> 17797 bytes .../favicon/apple-touch-icon-180x180.png | Bin 0 -> 23371 bytes .../assets/favicon/apple-touch-icon-60x60.png | Bin 0 -> 5062 bytes .../assets/favicon/apple-touch-icon-76x76.png | Bin 0 -> 6667 bytes site/assets/favicon/apple-touch-icon.png | Bin 0 -> 23371 bytes site/assets/favicon/favicon-16x16.png | Bin 0 -> 1222 bytes site/assets/favicon/favicon-32x32.png | Bin 0 -> 2365 bytes site/assets/favicon/favicon.ico | Bin 0 -> 15086 bytes site/assets/style.css | 159 ++++++++++++++++++ site/assets/toc.js | 51 ++++++ site/generate_reference.R | 96 +++++++++++ site/index.Rmd | 31 ++++ site/manual.Rmd | 83 +++++++++ site/news.Rmd | 11 ++ vignettes/_translation_links.R | 4 +- 23 files changed, 538 insertions(+), 9 deletions(-) create mode 100644 site/_litedown.yml create mode 100644 site/_navbar.html rename {pkgdown => site}/assets/datatable_cheatsheet.pdf (100%) rename {pkgdown => site}/assets/datatable_cheatsheet_fr.pdf (100%) create mode 100644 site/assets/favicon/apple-touch-icon-120x120.png create mode 100644 site/assets/favicon/apple-touch-icon-152x152.png create mode 100644 site/assets/favicon/apple-touch-icon-180x180.png create mode 100644 site/assets/favicon/apple-touch-icon-60x60.png create mode 100644 site/assets/favicon/apple-touch-icon-76x76.png create mode 100644 site/assets/favicon/apple-touch-icon.png create mode 100644 site/assets/favicon/favicon-16x16.png create mode 100644 site/assets/favicon/favicon-32x32.png create mode 100644 site/assets/favicon/favicon.ico create mode 100644 site/assets/style.css create mode 100644 site/assets/toc.js create mode 100644 site/generate_reference.R create mode 100644 site/index.Rmd create mode 100644 site/manual.Rmd create mode 100644 site/news.Rmd diff --git a/.gitignore b/.gitignore index dba3d1306e..eb5f090fca 100644 --- a/.gitignore +++ b/.gitignore @@ -57,5 +57,10 @@ dev.R *.diff *.patch -# pkgdown -docs +# litedown +site/*.html +site/*.md +site/doc/ +site/man/ +site/reference/ +site/reference_index.rds diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 05cc1e445c..29fd2390fc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -363,8 +363,19 @@ integration: script: - R --version - *install-deps ## markdown pkg not present in r-pkgdown image - - mkdir -p ./pkgdown/favicon/ && cp .graphics/favicon/* ./pkgdown/favicon/ ## copy favicons - - Rscript -e 'pkgdown::build_site(override=list(destination="./website"))' + ## Copy assets to site directory + - mkdir -p ./site/assets/favicon/ + - cp .graphics/favicon/* ./site/assets/favicon/ + - cp pkgdown/assets/*.pdf ./site/assets/ + ## Build litedown site + - cd site && Rscript -e 'litedown::fuse_site()' && cd .. + ## Generate reference pages + - Rscript site/generate_reference.R + - cd site && Rscript -e 'litedown::fuse("manual.Rmd")' && cd .. + - mkdir -p website + - cp -r site/*.html website/ + - cp -r site/reference website/ 2>/dev/null || true + - cp -r site/assets website/ ## html manual, vignettes, repos, cran_web, cran_checks - echo 'source(".ci/ci.R"); source(".ci/publish.R")' >> .Rprofile ## list of available test-* jobs dynamically based on bus/test-* directories @@ -436,8 +447,14 @@ integration: - Rscript -e 'check.index("data.table", names(test.jobs))' ## web/checks/check_flavors.html - Rscript -e 'check.flavors(names(test.jobs))' - ## pkgdown merge - - Rscript -e 'common_files<-function(path1, path2) intersect(list.files(path1, all.files=TRUE, no..=TRUE), list.files(path2, all.files=TRUE, no..=TRUE)); msg = if (length(f<-common_files("website","bus/integration/cran"))) paste(c("Following artifacts will be overwritten by pkgdown artifacts:", paste0(" ", f)), collapse="\n") else "No overlapping files from pkgdown artifacts"; message(msg); q("no")' + ## Add backwards compatibility redirects + - mkdir -p website/news website/reference website/articles + - echo '' > website/news/index.html + - echo '' > website/reference/index.html + ## Symlink vignettes from library to articles (pkgdown convention) + - ln -s library/data.table/doc website/articles || cp -r bus/integration/cran/library/data.table/doc/* website/articles/ 2>/dev/null || true + ## litedown merge + - Rscript -e 'common_files<-function(path1, path2) intersect(list.files(path1, all.files=TRUE, no..=TRUE), list.files(path2, all.files=TRUE, no..=TRUE)); msg = if (length(f<-common_files("website","bus/integration/cran"))) paste(c("Following artifacts will be overwritten by litedown artifacts:", paste0(" ", f)), collapse="\n") else "No overlapping files from litedown artifacts"; message(msg); q("no")' - mv website/* bus/integration/cran/ ## add plausible.io stats - find bus/integration/cran -type f -iname "*.html" | xargs sed -i 's!!!g' diff --git a/_pkgdown.yml b/_pkgdown.yml index 63e50c248a..45899b6f7b 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -22,7 +22,7 @@ home: navbar: structure: left: [home, introduction, articles, news, benchmarks, presentations, communityarticles, reference, cheatsheet] - right: [search, github, lightswitch] + right: [search, github] components: home: icon: fas fa-home fa-lg diff --git a/site/_litedown.yml b/site/_litedown.yml new file mode 100644 index 0000000000..eda5918636 --- /dev/null +++ b/site/_litedown.yml @@ -0,0 +1,22 @@ +--- +site: + rebuild: "always" + pattern: "[.]Rmd$" + +output: + html: + meta: + css2: ["https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css", "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css", "assets/style.css"] + js2: ["https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js", "assets/toc.js"] + title: "data.table" + description: "Extension of data.frame" + lang: "en" + favicon: "assets/favicon/favicon-32x32.png" + footer: "" + include_before: "_navbar.html" + include_after: '' + options: + toc: false + number_sections: false + embed_resources: false +--- diff --git a/site/_navbar.html b/site/_navbar.html new file mode 100644 index 0000000000..87d1b80ac9 --- /dev/null +++ b/site/_navbar.html @@ -0,0 +1,54 @@ + diff --git a/pkgdown/assets/datatable_cheatsheet.pdf b/site/assets/datatable_cheatsheet.pdf similarity index 100% rename from pkgdown/assets/datatable_cheatsheet.pdf rename to site/assets/datatable_cheatsheet.pdf diff --git a/pkgdown/assets/datatable_cheatsheet_fr.pdf b/site/assets/datatable_cheatsheet_fr.pdf similarity index 100% rename from pkgdown/assets/datatable_cheatsheet_fr.pdf rename to site/assets/datatable_cheatsheet_fr.pdf diff --git a/site/assets/favicon/apple-touch-icon-120x120.png b/site/assets/favicon/apple-touch-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..1b7b472b3502c6e527342c78c29951371568f45b GIT binary patch literal 12821 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 literal 0 HcmV?d00001 diff --git a/site/assets/favicon/apple-touch-icon-152x152.png b/site/assets/favicon/apple-touch-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..f2363e268aa40208f3a33679dba2f6c688e8cd1e GIT binary patch literal 17797 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 D54kTx literal 0 HcmV?d00001 diff --git a/site/assets/favicon/apple-touch-icon-180x180.png b/site/assets/favicon/apple-touch-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..c1f7cebd8e99255f428bf1bf04f1304734e49131 GIT binary patch literal 23371 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 literal 0 HcmV?d00001 diff --git a/site/assets/favicon/apple-touch-icon-60x60.png b/site/assets/favicon/apple-touch-icon-60x60.png new file mode 100644 index 0000000000000000000000000000000000000000..254fd66fdc27a99cf6519e8266de2ef5d7e7cca6 GIT binary patch literal 5062 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 fk|HzpD%2FBN6o8hRp6WYg+o=Bmv0Zyn literal 0 HcmV?d00001 diff --git a/site/assets/favicon/apple-touch-icon-76x76.png b/site/assets/favicon/apple-touch-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..0b24a0bfca2e2275f2ff70963dcfa9f9c1f3b5a9 GIT binary patch literal 6667 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 literal 0 HcmV?d00001 diff --git a/site/assets/favicon/apple-touch-icon.png b/site/assets/favicon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ff3edd4a48c40c1c556636624c5a0b4083cbf608 GIT binary patch literal 23371 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 literal 0 HcmV?d00001 diff --git a/site/assets/favicon/favicon-16x16.png b/site/assets/favicon/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..feecd920540a6732a1f9c3bf574cee90c498fd31 GIT binary patch literal 1222 zcmZ`%drZ?;6uzZEnV^$F2RIffWjt&oZH1UI&3J07yhT?*h0=mzaMDtvZNfk*CM4VB zQDuo}00lzEYA7(>hSu>Ago4#tilZ%3`)f;iwBy;*((dx7f9&R-dvZ?hch32~d#lq^ zkM7*DX9oaaCzXpmRMRml6j+*DX&w-3`V;3`%AS0K8BDDsBL< z2~!mY0Im=LFy;Xe^9uleC5?Y(90I@vlb)QF1TSP~=j7(*;&3E`F>7Zw&&D%G-dXjLJdc|R)>iQqi2AS|oXAvT+>zrVk{ zyu7xyc64-fadB~JY3a_LJ6J5XrKLqClgZ`swzf7%&0<+|I2T3YFTzVoe*oc zJI!;qmNf+PyvX5jZf!XiwLfg=zA(+kE*aW3)(tBwD-wz1{=NE_&kpOS@C!=3)qv9| z&O8@C*(PW<7Z(>tgoh+k0+{Fg?$+-8>ruqZzKCZc95HfFe0%~NX>Dx{a%8hv+1aNf zA_yV)fFp^)smWw|ZYqz*rO{{;6BAHFD9iBhFcg`d�-bgS_GVR;#tHt`6$c+}sRF zwYIi4G&D?2O)Z&BP?@TmH-(QLy^>0eM&s7jmR+l~y?bSweq){e$2hCDsweGAnN>Dy zQ^_1lM$3!G)`@ z>Ka_FpRWn^zNm0avwU4B&o=FYX|7m_JkamW^j>JwVw-&^&Goa3lMWUZSFJaOqQ4an z9dRXo=<0;!Q2ED?CZ6D(|I!@>7!EZh38VAcg~fV*zw2@dOgX8EaasN{MjmiEf{Me@ zy)#1HJ@N{7`!twW8U%HPc_{YjcT6UtMZ54T6MTJdPkrq#IGH7{Oc?0L2lM&z=%`-* zo-37n{(}}q{s+xebwXK)0k^N zRX*_XJ19MP$ZH}}c)+fDs0_H)>_Aq`tIO;EBA6~z)iJ7iF=m(srTB`IMB^~&oPrnz zy8t>sCX&hfNpMGHkx4OdlMWJy#26w`Bh$Y42yp2#v#5~!|A6|R&+s7NJ6;xzlS#iC zRKmVoSX5jP#Nn0{1QnHV7yw*r{IKlh!8#QlKAJWrp(2?8jrWXXc>3Udj@SF5eS#7z vq6U~~e0NsR*wovRLCIj?AZDzB(sV2m82!9C%kj~-VGBS_N=+2T=T-g(0!3RR literal 0 HcmV?d00001 diff --git a/site/assets/favicon/favicon-32x32.png b/site/assets/favicon/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..044f4cb0e89468ba53f460451c62e21c10d30d45 GIT binary patch literal 2365 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 W>JG+|gGCXv1t2-O6COJFC;b=6EIr=< literal 0 HcmV?d00001 diff --git a/site/assets/favicon/favicon.ico b/site/assets/favicon/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..55fb4ebffecac868588d3911308f35dfc08f6f51 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/site/assets/style.css b/site/assets/style.css new file mode 100644 index 0000000000..d2f7f75f97 --- /dev/null +++ b/site/assets/style.css @@ -0,0 +1,159 @@ +/* data.table website styles */ + +:root { + --dt-toc-width: 320px; +} + +body { + font-family: "Helvetica Neue", Arial, sans-serif; + line-height: 1.6; + color: #212529; + margin: 0 !important; + padding: 0 !important; + max-width: none !important; +} + +/* Layout */ +.frontmatter, +.body { + max-width: 1320px !important; + width: 100% !important; + margin: 0 auto !important; + padding: 0 clamp(1.5rem, 3vw, 4rem) !important; +} + +.frontmatter { + padding-top: 1.5rem; +} + +.external-link::after { + content: "ext"; + font-size: 0.75rem; + margin-left: 0.25rem; +} + +/* Code blocks */ +pre { + background-color: #f8f9fa; + border: 1px solid #dee2e6; + border-radius: 4px; + padding: 1rem; + overflow-x: auto; +} + +code { + background-color: #f8f9fa; + padding: 0.2rem 0.35rem; + border-radius: 3px; + font-family: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 0.875em; +} + +pre code { + background-color: transparent; + padding: 0; +} + +/* TOC sidebar */ +#TOC { + background-color: #f8f9fa; + border: 1px solid #dee2e6; + border-radius: 4px; + padding: 1rem; + margin: 1rem 0 2rem 0; +} + +#TOC ul { + list-style: none; + padding-left: 0; + margin: 0; +} + +#TOC a { + color: #495057; + font-size: 0.9rem; +} + +@media (min-width: 1200px) { + .body:has(#TOC) { + display: grid; + grid-template-columns: 1fr var(--dt-toc-width); + gap: 2rem; + align-items: start; + } + + #TOC { + grid-column: 2; + grid-row: 1 / 999; + position: sticky; + top: 5rem; + margin: 0; + max-height: calc(100vh - 6rem); + overflow-y: auto; + } + + .body:has(#TOC) > *:not(#TOC) { + grid-column: 1; + } +} + +@media (min-width: 1400px) { + .frontmatter, + .body { + padding: 0 3rem; + } +} + +@media (min-width: 1800px) { + .frontmatter, + .body { + padding: 0 5rem; + } +} + +/* Dark mode styles */ +[data-bs-theme="dark"] { + color-scheme: dark; +} + +[data-bs-theme="dark"] body { + background-color: #212529; + color: #dee2e6; +} + +[data-bs-theme="dark"] .navbar { + background-color: #343a40 !important; + border-bottom-color: #495057 !important; +} + +[data-bs-theme="dark"] code { + background-color: #2d3238; + color: #e9ecef; +} + +[data-bs-theme="dark"] pre { + background-color: #2d3238; + border-color: #495057; +} + +[data-bs-theme="dark"] #TOC { + background-color: #2d3238; + border-color: #495057; +} + +[data-bs-theme="dark"] #TOC a { + color: #adb5bd; +} + +[data-bs-theme="dark"] .ref-item { + border-bottom-color: #495057; +} + +[data-bs-theme="dark"] .ref-item h3 code { + background-color: #2d3238; +} + +[data-bs-theme="dark"] table td, +[data-bs-theme="dark"] table th { + border-color: #495057; +} diff --git a/site/assets/toc.js b/site/assets/toc.js new file mode 100644 index 0000000000..7b93e29a46 --- /dev/null +++ b/site/assets/toc.js @@ -0,0 +1,51 @@ +(() => { + const toc = document.getElementById("TOC"); + if (!toc) return; + + const content = document.querySelector(".body"); + if (!content) return; + + const headings = Array.from( + content.querySelectorAll("h2[id], h3[id], h4[id]") + ); + if (!headings.length) return; + + const rootList = document.createElement("ul"); + rootList.className = "nav flex-column"; + toc.appendChild(rootList); + + const listStack = [{ level: 2, list: rootList }]; + + headings.forEach((heading) => { + const level = Number(heading.tagName.slice(1)); + const text = heading.textContent.trim(); + if (!text) return; + + while (listStack.length && level < listStack[listStack.length - 1].level) { + listStack.pop(); + } + + if (level > listStack[listStack.length - 1].level) { + const nestedList = document.createElement("ul"); + nestedList.className = "nav flex-column ms-3"; + const parentList = listStack[listStack.length - 1].list; + const lastItem = parentList.lastElementChild; + if (lastItem) { + lastItem.appendChild(nestedList); + listStack.push({ level, list: nestedList }); + } + } + + const currentList = listStack[listStack.length - 1].list; + const item = document.createElement("li"); + item.className = "nav-item"; + + const link = document.createElement("a"); + link.className = "nav-link px-0"; + link.href = `#${heading.id}`; + link.textContent = text; + + item.appendChild(link); + currentList.appendChild(item); + }); +})(); diff --git a/site/generate_reference.R b/site/generate_reference.R new file mode 100644 index 0000000000..1293af37ec --- /dev/null +++ b/site/generate_reference.R @@ -0,0 +1,96 @@ +#!/usr/bin/env Rscript +# Generate individual reference pages from .Rd files + +library(tools) + +# Create reference directory +ref_dir = "site/reference" +if (!dir.exists(ref_dir)) dir.create(ref_dir, recursive = TRUE) + +# Get all .Rd files +rd_files = list.files("man", pattern = "\\.Rd$", full.names = TRUE) + +# Function to extract metadata from .Rd file +get_rd_info = function(rd_file) { + rd = parse_Rd(rd_file) + + title_idx = which(sapply(rd, attr, "Rd_tag") == "\\title") + title = if (length(title_idx) > 0) { + gsub("^\\s+|\\s+$", "", paste(unlist(rd[[title_idx[1]]]), collapse = "")) + } else NA + + alias_idx = which(sapply(rd, attr, "Rd_tag") == "\\alias") + aliases = if (length(alias_idx) > 0) { + sapply(alias_idx, function(i) paste(unlist(rd[[i]]), collapse = "")) + } else character(0) + + list( + file = basename(rd_file), + name = sub("\\.Rd$", "", basename(rd_file)), + title = title, + aliases = aliases + ) +} + +# Generate HTML for each .Rd file +cat("Generating individual reference pages...\n") +all_info = list() + +for (rd_file in rd_files) { + info = get_rd_info(rd_file) + all_info[[length(all_info) + 1]] <- info + + out_file = file.path(ref_dir, paste0(info$name, ".html")) + + temp_html = tempfile(fileext = ".html") + Rd2HTML(rd_file, out = temp_html, package = "data.table") + + html_content = readLines(temp_html, warn = FALSE) + navbar_html = readLines("site/_navbar.html", warn = FALSE) + navbar_html = gsub('href="index.html"', 'href="../index.html"', navbar_html) + navbar_html = gsub('href="news.html"', 'href="../news.html"', navbar_html) + navbar_html = gsub('href="manual.html"', 'href="../manual.html"', navbar_html) + navbar_html = gsub('href="articles/', 'href="../articles/', navbar_html) + navbar_html = gsub('href="assets/', 'href="../assets/', navbar_html) + + wrapped_html = c( + '', + '', + '', + '', + '', + '', + sprintf('%s — %s • data.table', paste(info$aliases, collapse = ", "), info$title), + '', + '', + '', + '', + '', + '', + navbar_html, + '
', + html_content, + '
', + '', + '', + '' + ) + + writeLines(wrapped_html, out_file) + unlink(temp_html) + + cat(sprintf(" Generated %s\n", out_file)) +} + +all_info = all_info[order(sapply(all_info, function(x) x$name), method = "radix")] + +saveRDS(all_info, "site/reference_index.rds") + +cat(sprintf("\nGenerated %d reference pages in %s/\n", length(all_info), ref_dir)) \ No newline at end of file diff --git a/site/index.Rmd b/site/index.Rmd new file mode 100644 index 0000000000..9b7215fc45 --- /dev/null +++ b/site/index.Rmd @@ -0,0 +1,31 @@ +--- +title: "" +--- + +```{r setup, include=FALSE} +pkg_name = litedown:::detect_pkg() +pkg_dir = find.package(pkg_name) +``` + +```{r, results='asis', echo=FALSE} +# Read README.md from repository root (one directory up from site/) +readme_file = normalizePath(file.path('..', 'README.md'), mustWork = FALSE) +if (file.exists(readme_file)) { + readme = readLines(readme_file, warn = FALSE) + cat(readme, sep = '\n') +} else { + cat('README.md not found.\n') +} +``` + +## Links + +- [CRAN-like website](web/packages/data.table/index.html) +- [CRAN-like checks](web/checks/check_results_data.table.html) +- [Community blog](https://rdatatable-community.github.io/The-Raft/) + +## Citation + +```{r, echo=FALSE, results='asis'} +litedown::pkg_citation(pkg_name) +``` diff --git a/site/manual.Rmd b/site/manual.Rmd new file mode 100644 index 0000000000..bd30ffdb1a --- /dev/null +++ b/site/manual.Rmd @@ -0,0 +1,83 @@ +--- +title: "Function Reference" +--- + +```{r, echo=FALSE, results='asis'} +# Load the reference index +ref_info = readRDS("reference_index.rds") + +# Print function list +cat("
\n") +``` + + \ No newline at end of file diff --git a/site/news.Rmd b/site/news.Rmd new file mode 100644 index 0000000000..cc394b9d2d --- /dev/null +++ b/site/news.Rmd @@ -0,0 +1,11 @@ +--- +title: "News" +--- + +```{r, echo=FALSE, results='asis'} +cat(litedown::raw_text('')) +``` + +```{r, echo=FALSE, results='asis'} +litedown::pkg_news(recent = 0, number_sections = FALSE) +``` diff --git a/vignettes/_translation_links.R b/vignettes/_translation_links.R index d384f43e39..f01f5f72a4 100644 --- a/vignettes/_translation_links.R +++ b/vignettes/_translation_links.R @@ -1,7 +1,7 @@ # 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" +.write.translation.links = function(fmt) { + url = "https://rdatatable.gitlab.io/data.table/doc" path = dirname(litedown::get_context("input")) if (basename(path) == "vignettes") { lang = "en" From a0ec04d95091a2ba083edc0854c1b6907ebaafac Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Fri, 26 Dec 2025 23:58:03 +0100 Subject: [PATCH 02/25] update CI --- .gitlab-ci.yml | 8 ++--- _pkgdown.yml | 82 -------------------------------------------------- 2 files changed, 3 insertions(+), 87 deletions(-) delete mode 100644 _pkgdown.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 29fd2390fc..e77c256480 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -351,10 +351,10 @@ test-mac-old: # merging package tarballs and binaries into single R repository # rendering documentation # setting up CRAN-like structure -# generating pkgdown website +# generating litedown website integration: stage: integration - image: registry.gitlab.com/rdatatable/dockerfiles/r-pkgdown + image: registry.gitlab.com/rdatatable/dockerfiles/r-litedown tags: - saas-linux-medium-amd64 only: @@ -362,11 +362,10 @@ integration: needs: ["mirror-packages","build","test-lin-rel","test-lin-rel-cran","test-lin-dev-gcc-strict-cran","test-lin-dev-clang-cran","test-lin-rel-vanilla","test-lin-ancient-cran","test-lin-dev-clang-san","test-lin-dev-gcc-san","test-win-rel","test-win-dev" ,"test-win-old","test-mac-rel","test-mac-old"] script: - R --version - - *install-deps ## markdown pkg not present in r-pkgdown image + - *install-deps ## markdown pkg not present in r-litedown image ## Copy assets to site directory - mkdir -p ./site/assets/favicon/ - cp .graphics/favicon/* ./site/assets/favicon/ - - cp pkgdown/assets/*.pdf ./site/assets/ ## Build litedown site - cd site && Rscript -e 'litedown::fuse_site()' && cd .. ## Generate reference pages @@ -464,7 +463,6 @@ integration: # R repository # test jobs summaries # html documentation of all packages in repo -# pkgdown website pages: stage: deploy environment: production diff --git a/_pkgdown.yml b/_pkgdown.yml deleted file mode 100644 index 45899b6f7b..0000000000 --- a/_pkgdown.yml +++ /dev/null @@ -1,82 +0,0 @@ -url: https://rdatatable.gitlab.io/data.table - -template: - bootstrap: 5 - light-switch: true - -development: - version_tooltip: "Development version" - -news: - one_page: true - -home: - links: - - text: CRAN-like website - href: web/packages/data.table/index.html - - text: CRAN-like checks - href: web/checks/check_results_data.table.html - - text: Community blog - href: https://rdatatable-community.github.io/The-Raft/ - -navbar: - structure: - left: [home, introduction, articles, news, benchmarks, presentations, communityarticles, reference, cheatsheet] - right: [search, github] - components: - home: - icon: fas fa-home fa-lg - href: index.html - introduction: - text: Introduction - href: articles/datatable-intro.html - articles: - text: Vignettes - menu: - - text: "Introduction to data.table" - href: articles/datatable-intro.html - - text: "Reference semantics" - href: articles/datatable-reference-semantics.html - - text: "Using .SD for Data Analysis" - href: articles/datatable-sd-usage.html - - text: "Keys and fast binary search based subset" - href: articles/datatable-keys-fast-subset.html - - text: "Joins in data.table" - href: articles/datatable-joins.html - - text: "Secondary indices and auto indexing" - href: articles/datatable-secondary-indices-and-auto-indexing.html - - text: "Efficient reshaping using data.table" - href: articles/datatable-reshape.html - - text: "Programming on data.table" - href: articles/datatable-programming.html - - text: "Frequently asked questions" - href: articles/datatable-faq.html - - text: "Importing data.table" - href: articles/datatable-importing.html - - text: "Benchmarking data.table" - href: articles/datatable-benchmarking.html - news: - text: News - href: news/index.html - benchmarks: - text: Benchmarks - href: https://duckdblabs.github.io/db-benchmark - presentations: - text: Presentations - href: https://github.com/Rdatatable/data.table/wiki/Presentations - communityarticles: - text: Articles - href: https://github.com/Rdatatable/data.table/wiki/Articles - reference: - text: Manual - href: reference/index.html - cheatsheet: - text: Cheatsheet - menu: - - text: "English" - href: datatable_cheatsheet.pdf - - text: "Français" - href: datatable_cheatsheet_fr.pdf - github: - icon: fab fa-github fa-lg - href: https://github.com/Rdatatable/data.table From ca58eec8cac32eefd5b6df447bb977245ef798eb Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Sat, 27 Dec 2025 00:00:43 +0100 Subject: [PATCH 03/25] remove copies --- .../assets/favicon/apple-touch-icon-120x120.png | Bin 12821 -> 0 bytes .../assets/favicon/apple-touch-icon-152x152.png | Bin 17797 -> 0 bytes .../assets/favicon/apple-touch-icon-180x180.png | Bin 23371 -> 0 bytes site/assets/favicon/apple-touch-icon-60x60.png | Bin 5062 -> 0 bytes site/assets/favicon/apple-touch-icon-76x76.png | Bin 6667 -> 0 bytes site/assets/favicon/apple-touch-icon.png | Bin 23371 -> 0 bytes site/assets/favicon/favicon-16x16.png | Bin 1222 -> 0 bytes site/assets/favicon/favicon-32x32.png | Bin 2365 -> 0 bytes site/assets/favicon/favicon.ico | Bin 15086 -> 0 bytes 9 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 site/assets/favicon/apple-touch-icon-120x120.png delete mode 100644 site/assets/favicon/apple-touch-icon-152x152.png delete mode 100644 site/assets/favicon/apple-touch-icon-180x180.png delete mode 100644 site/assets/favicon/apple-touch-icon-60x60.png delete mode 100644 site/assets/favicon/apple-touch-icon-76x76.png delete mode 100644 site/assets/favicon/apple-touch-icon.png delete mode 100644 site/assets/favicon/favicon-16x16.png delete mode 100644 site/assets/favicon/favicon-32x32.png delete mode 100644 site/assets/favicon/favicon.ico diff --git a/site/assets/favicon/apple-touch-icon-120x120.png b/site/assets/favicon/apple-touch-icon-120x120.png deleted file mode 100644 index 1b7b472b3502c6e527342c78c29951371568f45b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12821 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 diff --git a/site/assets/favicon/apple-touch-icon-152x152.png b/site/assets/favicon/apple-touch-icon-152x152.png deleted file mode 100644 index f2363e268aa40208f3a33679dba2f6c688e8cd1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17797 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 D54kTx diff --git a/site/assets/favicon/apple-touch-icon-180x180.png b/site/assets/favicon/apple-touch-icon-180x180.png deleted file mode 100644 index c1f7cebd8e99255f428bf1bf04f1304734e49131..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23371 zcmW(-1z40>7e=HMq)WO(I;6Y1Te?BI8|m(plva?gB?Rg2mJ)^#DTi+UJHPv=YwR#{ zzjM!d>uijgitL-$M6coC;NHl~Nojzen_%Bjkid_^6G)ukCj=XDWpOyT`Xtl`Geq!f z3JW<6WjHuLIyksb;c#$w;I}^gfrIm8hlBfT3I`{U4F^ZylGm;-1pWZYTv1jE?iu#a zmmd{r;CGNc*lJh9(6^?sV!=xl@CD*NTIjmu67M2pw@|_y7X-ayYI6$^xN7-EQKp(^$** zjWJulw(EzdWSiuK7pu#eXnx(ser7Tyg8O;*pZ7)f`KNpnM+phw5iucy33IWrv3vG8 zS6o?RmyPl9@#(X(vypN%oP_965$SHFtG6MNqz6a=$#Mz`*yVQbbgHzKa(SxxNYFRu zR#tA0V{qsvJB}L0QUwGBZQk?pF752>gexj2DJ4v0@hM|6jn})bwXMJ-hOG=`&FzWfHll z(}wqEptZELG&2)ZRZT;~8Tr`g=$THfF^h+hE}_3)0ggqO*AOg`xi$b{u3HR|R!_^uZ8l>#(>=b-`Z>tdz5o>q%_9DA(2G~a1+XcAr z_VY(%ct-1jncjTyPPxcuW{V}mr+)j6D>9&QCBO(?8N1%tn_TNh2CA$}<> z?f>h-w}+079;7qZl+kECq3|?rBhnX&h+4OLOy%S|73uRw1w~v|HY(t1#b!6>{YP6z zM@J3qOV^6I+m0Xp*JOJvio({_Lwvlcsi_EG(lavbz%dtS>FM31f$G|mj>G@l{dnv= zv9Yny$TeW|$&B!9IE8wz`(dm*TU%RuW`2I&5f2aV8vJYtA3I>KuF~`|evX}oy+Stc zrl_-1NLRr(ZS(Z`{^;l^X2~S@$Jv2ua87YCm21o5jZ*Z7TREEET<0#vU}&64^h7Q% zvSiV8l~e2e5?PW>{?g&)eSiod>UjcG1%+~&`%TtZ8M|dh8WR(f^YG}XpYOvBG{pb( zhpy9R*Lu86$^I%sH&a+x*q+JL8NvClkF^;qD=S6=0|OW;+3aSSW4jISVmYm=Rm~jO zHzf3`b->+WX3hF2!+_g9#2#M-zG;e{f1Vo7VA3sUEDWeYd;UH-sd9S*NjeXHz7FQ* z;oNjZ zssW)%K^G;K*4Bx!uAItgFOkuQhsgYugl>1zunMPIHMJLzLu`nNi96o57h3c_VU`&B z?q*Q&^74KJpUxYU$O-eicd>!{f}1IqmzU*cgaive_%wUB>I}Pse%#h41uB(SRNR9y zDIno>TEhdM*emk(nOsKXJ1GGiKR-Wf?nDbWcFfwx)>Q&l46LR2ae+nBeu-Bh4OW?3-&qnXcf(NTG>@FW&Xh*}h=68pUm{sHiYdPwyyA zC$FxoROr6m@YnAO;0GsIy6Uso)YLRA`mlwuT|Y#Y2C6K|(9S>SZ|`PR z1h@C84n<%?wXCkrg~TP-jIeNgY>fCB9FfGD+ZYQcJ^g-Y_!cXEq*-0?bCB=z<8_>_ zN#Of!s87qXLyO7%og{Tm)cw;=t&oAC!w=TOExw7jWVqI4gKTe;|^m}Q_o3x zd3o<5c{~G5=@ZHORR-=$!Nbyd;hj@{J7YIjzPskN>iFHDITp0o6eozZxPrW-D$V&c)j&+o2CK8^0J=30>_n<7x=VmKvrOn+Yn2#h#M|;7< z)6>&2OG9Sc=U#FOYZ|j2n59^b)w#li$6Zi2#QS#gguf-+Q zDC(wWPtzQ_6B>dMc}9jxq*)r=*Rz|Os=B%u`9{Kg`Ce{r4I^U{gU4P*O;*rrNmW%0 zRgqg7SjEXElGwc>czx3EC9@lp>co_Vj)zR#v)g37Md>#Ws^^>V+ z<)U=MSVZ5+_7t1)?^^wrL?tQqoTqt_3rMj zpSQQSzQ6yytkN9Gz6+m$WRV(1mfFT8Ev0SMLTt?;KI1O4^4ycO_ChU-L6hw)Z}+Y8 z<9Xq;5NNpjLI1X#ibV_>vRG%+Y6P*Jf z#N*il2I;vB$k$zoYR{UI+3Bp;cCe~0c{8+8Qk9KB@FL);xPJ9;9r*V zeRLJ{7h~+NAs;A4<|spKZA{|l(z+s#ot?JSFf{a$*Za%o)SAohzE@{ELsevFU?3^k z7XaG&w0*OThmo^}_Iup80h#vCr^8?IJiNSkR4Ta6yY5f!OViIbIXO9bl%tUd3>5zS`79)QlM9A9!KvC74D35Y*m=kl!Qk!Ru#U40%_EbxY09|4=qtEjjd7NH0etiz$JJQ zQnW4zUYOaSDf(cpf{84t;!9cC?wKvOz>0nIRmb{C3+PtMF^;AsvFh}Hc6KZ|xwssA zO#i(uoVpHdU43lRuF}DK`WGdtCGrGKiaSq{qA4qFZpMr16Aua!0bL&fKFH1OweLxr zpPL)5fgrbrrlV3J{$TN&>5a6Py^(4Z?-`|n2AR;1_ON68M&ypaG&+;4>uGYDW!Fl6XC)?5f%ei-)z{ zT}w#4LJYEjN#4iosp-HotSUK9*w}KY8WjSD{Pgq;bmdcw0^vcP| zII=Q5&0f{f;SWurmOT*VEM}mfimYkoTP|N@hf9vvtuSH|w z{KY#5eA2kZgt^5SHg2qnKra01{1?w8M~gDw{dl+ZkY;ROYv{S^T~URLDa6zqeh*}k z3)=FitfVt`3%dB$zglBQWMyRqs}w3WwyDL%MV_{@GAmzIRaI*mY`ZRiT<*P3H(1(+ zlS<-1o*mL&1X>y342ykk-=Hexl=bq2j8&N}=a<0GlGs4>^48uU*Qo_r+ZdHkBpCS7>|@|O+{4z7S( zuL!7B4d_-pvQ$_mG;UC#lsGzY6~RaIee>o`@F~;!RorT`_Zx9WlLhf zx-sATdiw{!_0sD9{C=QNy0jV6cPU9815UT~yNKueo!MHV2m;-cDZ0)N^0-Ch-hP6d zkhv}l=}*$9v~*0<>G)b!n3xRq2t}pPi_P|I(Py{WSq(N{CQ=(8ascl8*V^0%I(^U6 zlr8z=OFZzxlAoTYGwNaBHTZ zFj^rBn%w>atliagKl!C(W_qc|wdN&)YOXn4KE6srmeodyVDV__QZPQDkc(NLjVbrT zk`UMQgCf!weKYoGCcyloz*IS#fQcl*AorGj6w>}nia&hNE{0f% zpr9_j7KhKU0{%5Or@1&iUDwds+A5{6^22f@^{SzPv$3n|Db({x;*|kIELAPw-iiPc z<^fzCj3p5Ojb*C&+IiY_KQDOlpJdEZWQX3#KnE5YQj8Q87%8pI(hNjV7{?Zd#$1&s z#g!bmSTD73v83m~58|5laHP@*m=f5vpP0&GCx~cho0Dw{P}yxJ9Sm8AqOWfyFi+D4 z%!?WtGz^1ocX9FX^gkFFR06`1)zsWv7Aa9w?i_TUTaab!_losXa9|fAi&G~Q%s$;U zC-2>jAO79gC66N>HI z+uG5XAji+Hwy1K<~g6jvQprEf+%%(OacyPtx3p$l^}n6giZhr$=NtMG*yi4P{&1 zxZ>~2iv^clsYx`RLD1?@!xpt6HuOFkT zJQP$_DyXZcfKqykL$5L~C?N0-om}K0rJ$fdLV502Cd-G#=3vmFN%#CkL-9Wu)|*F2 z&o$`}C6PY|N16qA&J;_hbzlEDJ@8)l%wk|=)xnj1yC4z7Mm59mp~a!N(}!)OMr6{r z6EVA-LU69{r|GB5<`egjb6RE>GjF_zM=J&Ap#2=w2%BL863(iwQOQQ4+I+E-5dTYuKTLFmcI*t<2V>d zX|IV>)E{hLx1_#FM*E6MlL|hHox>5s$^DGM7O=&-%jWZ;e8shdIp?CrwN-Qg8*lcVRR-B zo1iywdLrB7w4ObmJ~1F==3BiHurL0WkdQ&h@8XXvpc<8c-rQ+wYOd~&f5s7Z+Zldq za{v8gvbuF+6hKkd>-)#&Jr}-{_LKI**wcz)B*#D7Sn~gu^6& z$r+2eZ-E>eOVyi>i)iO?)nMTre%8={k@0nl#jL9G-CzPSeI}cUioX8mvc^Vt34li3 zl7`aUfBy`5`DtIN)>kL=%120n0`ms+=G_GtUvKt5X_HOQ%zQ`S-gal+=s1Laq`vc)bbogl%HDA;ovo%nSf)039e{IP>&TOvE#%vv*Y3fnQZd&Ycz?zJ z)2w5?OPB<`aHe^3bPb>?l#X>LfQ{*xbZfK>S(l<~&y3`hG|i>_M@A9EcZBr!`LM%7 z%P;Exp8c@hLn;Vq zVW8Ronj}`DEsca*Y^2@bVN{_i%@^~ToHoDPpsQ2g)XT$7!ULxyhErWl8`?h@#YqoN z*^wdZ1@VIXFEx$7isXJuppoU$4elQTWG?dV4(WHbB>xbfJ8OdQ6}1!tuC?hGWTQ9m zgNP3_F?K(9V(DI^nma06PN;e91C`tOYS_L>iSi1?$ll zqupAACMI>z;hcM0$BwKFU1l1t^R-cwU^POV3%jpXt79R7wP&AK*M%NrQD?G|qb^D2 znQ2huKV&5=CSp@z5qv&ak7qiP(p7D_l8|G^(=cLT=#8^`hcb?1LPa`_wM^L1iy4=r zw;;LJsZiGbE=iY1q$erJV5kAnU9T(PtxlC^X_TuJ_+pIND+6OL_ zI`p1}L1IfO5S>y(t82lSS9~i7w|MC?a`z(C{TdM-sJ++GU8SzpJ- zFll${cs3pm3wTNziR|o18S9+Fcy6YxIy}nBrPrkhMc8rt*}~00x8u|Y4 zO^u;Qbmd@jj8JkBB5oY|E`-OTF+1J*y#Ms@}Z^9^H2wX<%PMkf5i&d`iBpSKnw)PdD(#nt?y^?$EGIzgFlI!U3{VCpLZ-H z`8JNsB~~ajVsRoYRUVnAJ;Is~^GSr5Z+{Ww)axswN#@bmN{6(ljC6%T^!X|f!k{hNo0$+}9g{%E-n>PfZOeHR8;=Q-IL2{n_d&!i1mWeoI19+SOG6%n)PWT|DsU zW!>GmL<%t~=H!|26>l`551n4mU*9$S^LL$nE&5RT4%1 z`P1aHQ2O`?-lows|rz?TYtg_F(WNYrRE1=C`2adCfpb>NtHX)#~ZQvcC>{9(#2XJbR( z;eBci-s$%bt%-|^Iso)yN|-hq;Pk#nqgLni{u-O)RxE>*-Ph{{HH4_~MNSliVTvfZ zGw8MzHx*_rRX_@n68oWB*pymNHy-%LCeaIpgkqZMbM2TKp_N2OqB-MFVO~#LC*rtR z1MC^+|3R-V2$8h3!x@-n?QA`NdkDNj3WJLgjt5$`1^6xm?Z*MEnalI9RwlE)gtGD* z;2F`-)0Y4e(7IM)FkNAQ*uAL=9`|aivrS**o1>M+C;%ydP8zAZM~NNt`}|hr4jYYh znc9^vPp=xETX}%nQ;93G5&;TWjtn5`nEwXq4vy)2J>ciGhA01}7UT?s+-X^B`?H(l zYYlv<;!RK%Bw6!mj=JCu)4RBU*TzjdG0wOrS1JDbbEtSlL}>((;C!0zb)HI^RUCro zy*7coyc0OL6t_R9B;=xT0}|XsWkp4xf72EC{bdA_L$-kDyM=`XW~27>(NP8P8`weD zwz+zV@5Bp<47iljLPB07lJNJ!TG->|(n`B06Oeh)(9w%4?R)Lz7-I&^(Q5J8!o}2a zzw0o`%d;}$qvFTCtU_e=qThvhcuY`Wj(+*pmUeQ2z9x^TR9VOFoat&`u%P z7}i~rFK2e*)WB7OBJFk)9a~<(X=DAeyr_T&9v(9h<>|Ur|7czG=hU;Xl3POz77l^* zv}Av_|L0zuDeKwwV{l|xuOn1`Jz~Fp)20WVYuC~)>+UWjFbPO${`7=$)vs+L@7O)P(RjDBkH9$TJv+}(ujc_DGFPbVOo$Z8(G>bNMoLW^ zPg?!Y;h}}8=_eq+4Sf{T)Ycv-mX6B?ACZ=pmWGx#;gtaHYjqQosgw1Nl|~y3VjhPt zU0q~_Q?h&{GE1JI4N(bTksoYL$geM+U zK25LGFNx2i)dz@UYNrrZF#k8~)789#%f$AHA(R0dudZuCmH-%xoSeJ$Uuj>4-onYk(6muXh2)OT0mQ_~9 z0SlgS))WwIWQHgn- zESGAG)&kBaO3TaL{{0sJ`}Z%O%Wt@#ZgL9Bqw7j$T=MQ68f2c1-U_F`yT6zcf4k*~ zp-IP3hNCx8l!Y=bP>zjG7Y}_KRHuOY;62?e30;w%{dOsJ`!`Jqt~3r^da*rLsM#CF zY7{HE2=L-a!Y>?n=tJs8tmcF)t!H?wI!jlvJxZf3j`=SP~dh$JOqHSVGX23!{EnDL;vIErq4fud(;KVxS%_ev@?CR~i+wMuKK0)jSazf&s?I)-`cJ3SVG z6x(oHt&&DrNK){^O8a`)(A-2wn9-;H!^;L=cZ>|2@|k%vGZ#$G*&TLoF?f8#D~ML2 z_xZ{yE|1g6R)^>XSII90d$;7S9;HPm6l}C#{}3fTyqh>{N|Sd=weobthuc4U9Ov%NC)3H7|nJ;*|%N7iCazQ{r z>N{6_-4_T}g3o^wr`L@ZL+GG_fUl&K%^vcW%i3i@TNh}CgCQ@Gmw)*4!e$|`9e{X< z8S26pFzc|+O+oTzX5M;NP?WW(VocGwyYw5a1a4TWsnMwBOC{?^Iinb~x z^+ZHE(v})Z(X!n!ibX$sQ!9B7=UV=SKY@YR$y=f6W((1yFM%eVF+An4^Pi}-*amqVkrShoQl_Ccq(pY zQ}k!#lJ}O%9Y(Cb1Dh|a&Y~F+pWAEIXBH(@UDSe}v}*S??3W;QQko8+P#PGnK(`zoA4iD9 zHx0UKESyP!v*AIO2wQ#uqnCyV`zOQ(B+2=`@nhS3Lh4MD_F#6PZnsJ#!E zo?E@HInLC;P6)+1cl)nrFso~KCo{>K)5cHqmfu(l5AD2qs0N|*Rc!Lke$I~7DqusU zG#?!{tIZqB8tgubn%qmI`!)*j%_jGAv8jC7v{2&_k;^Q}w@5%&h<$1McU8J1?<*nk6dacXdYGM6^T+=w;3Z%&+2v1M1NF#MIOK;Z8TZ$vf5y>ej%m+!|%7 zE$!&YO(5pgFfmaDxHm=aLTXoSW5FaqRA&GJt@EBzdHq`9X64yH-p!^Vplh-cFKASu zS8^uSjKeXlXrb*d<9+?FHKAt%^r*yU4GmN2xi>tHZ_fWl;@;hnuDMAP=rSLdKYh)} z;@NAs;Y@oy;oYlC-oBTNh~Lz@nvz{wE~SPiZ_;f#=f#^OTr{(ATH4wjadkya7@4B? zwn>i}273Vm+nXv>b#h__#SQ{M|4g1QO+ZV9T>8Zn{8Qh)w&v@r_BR}-*53E)N33Re z4f1QitH@t6_D{IF@_Gmo%_+~P+1qNvXHO5qOpxLC`9~3jPTK3#s%dCAp3bNVR8_>* z4L>HJb8f*n?Mg!g2yBJhMmcx*btet^0FD%2cK*ZC z25E*n#YJ>ujh8Hm_h&JGwNkD}c-w;4(}m$Dh%%Ajb@|M%qb=g+WtjuMjQyqE=}l*s zxrO{cIhLp5ym)2e-!lngss5a3-;BA-3*C0cMT?GykK$^~IUe~m#_hE*h<9W3{VD3` z5aci!86O9eHu9Th1;8Vrz#rV7%ohS-Hxgk#-0sanc7}@F0H)Z~8xCb0qa}F-1#{2} zV&os?^!_&9^$)}mRDpO(?V1lHAr2N7qtSRXg$%~}-k$Z<(MsR1=8r4&7Ra(mWCQ!> zwBOHN%rNMKLdArf99vgMMn_?$x$3+IkV-vTeWp{xW_ zFI4%FgVOTddZ=>g!5je*OLj6r4zSQ{t}925j>cpl|*8eQ|7VgLCK9&Hw29I0t(I1rZ_5`MREfN=_HYHEU;45~$)?d z#Gi63D()X8{?K>}o$}n9(!5>XL|ksHji{+%FF)wpEfBl@6u}nArQjb-w|QHv5LA#+ zQ80Hi$MrfY>7XACueLS6Cj{sa{L4}4zcJ9kKcGMWMv&hYM?IT)Uft1ZxrIn}x4 zWjS_2CB5G+d=D)S0@CVg+V7zetp?Tqtvi96HkHTkuGe7sDkCEU=qvCcaI9H}fpNEw z?Dhzxsx8kmNkKs6u!PC<1;T=qCxB?yJFN@YfBeV~(4Vld@T)ki?pLlHgJ}-MGYqlC zE=S88e-95=K+ULBq(z_-aQdEEg7zy9`V9b)J0K8AA`(EzXtj-m9{etk1xo+(3$GZ% znpAKwn-My4)O+L)Egkxud>}faU2`v&oLeJ2+3!ZIT1z_B_%Y7*<7UK^X!PciD!ZPn znHfh|7#$)aQFrjWm`xG0E!(iz;vA{sKyF_0o>L4OI$xmMYiViKnfAZ~d*ILCzuN%8 zJ%CJQaa9#lN*`9zK1OT5>kAC;DWy5spa5}O*q{JLC{SI7?3-s776yQ?F%C#u{ffiG zoaiGCFo>zkOVp|V@Bt&p1{lmR56T9(HcEve`FKn^u;?E+)Fg0Uf$lNCxYz&=>*{nf zX$V3|f^Jc-hy6;$bl={!N9WwvI@)|STb~f0}d5N>47zOcYhDP ze`JUaEw_vLSTKS8fSGE`9XSNCGW{7=S^1xlPRnWDct{B%H}?T^_RM5>tVq|*=a)cm z;^bK@S2wh^+I%twv5hDUaw&CO_z+A|Qu%Pn7qhcmc8-pKz>)*8$k>?de1FR3Y-a>C zU&!_S3Q)K}XDs^m&5mK}zMmk_=UtDBuEf%1|IXThN9yO#Bfulh77Z3T-bL8IKUG$~16^VemZlK)=K-YnYo!7xb5+qt z?&juZhhI%GlarHDubl(l25_^#LnOW44-he-iubF_8ffq$XDLb3fSd!;0n;MDa8L@b z-sa^lD101wb1F*>afBY}DaZ4@ev6e-&fu5;g4S*$gg z+MCEdI6ATf!5J7(tAScps4)OnO+l|7MDM_j=mi}}354N5FN4i8AV=V!N8yNg%gQ1L z1_s8kDH@8MW|A_{+UDeBM~D18O#+sg_1b@~uye`DAp$}fkb=LPbQb_I&cMK+PLDa} zs85b2bmlqTG3SMpZlK@z9fJ_%j zzH03|@Sr0*jWnZSZk^ii1HE-|QRc%3Vo>LyUWMvL08= zAVq~mf-Y-rE)WoxT66fdGRG$zxb{|7v_MJ()I0@rBS4mXV2U9?GXO8T@Wo?>f|UI4 z-=^kh+f;G;ru{(Q5i$qG3i6C$R%4m!Mn=jiD(LuQ(^%s+4OZ`--nQ3R0I|2KojSh} zsuFK6KJ?fHDxFR_N6Oz{5R7)4%WK!tbPyT_L5Xi)zy2O1b_OZF44}M&W;6sIpPiFa zd2Q{fW2PW>3?>>9P;+f_GV8X%)9Hi`5(5y&2_%Hds;bXiHs~|9>EJ&EZi2$ck4&J^ zgJqNA8Qb2_NC`>+^M&tF@DKo6W7bV^BArb07a-s5 zx~Xev_16YnGJ!gW$#pF)nZJJhY8_D9Owe>LSa+)U{v9@qbgB)c!G{<0I)eR;>JP1S zUTIN%X22OKx1*cYf@~+&D#%b_0k0lrhyVjN26v1t@Idk6`kEel10v!L9ub%IxGBgd zfcN3DGmK^IvxNxwt(1w0N$==jAvSc#UntxboO`Chk|&7ifd>i}XOa+6@!4IsrNFdS z!QO5QpWSv!Td?1aBz7|0==5ba{15XJY(IdHBrzP7&w#KwRHQjOer&h6xHuG)-~YEI zz;S`vQ3Q)H`X=}D#8roWR1Nj^3-8+7+hKwo41!!Pne6|WDFONoEuEz6A!&@%zx&6S zH5_ei5CQV=_HGQk_X52T>~>g>rZcX&PYKgoeFLg46c8viU0qoK@cKs|gMuZ-U9o;S zw4`O`m&`DLHWE{}4x5c290jt*uXG^+^HXw)ija>c_e3D(QQFx_k~J1l%mCnz&wPQr zh&|$?O8?_FtfOdZx^L9HqItOJ?Ck7Mj0aW;fDDB`?~a!1!+->`c}fo$AO~aIhku~J ziy1)Cz@8tklak&Eh^oJ-S{Q{r(@tY&^IrTUvi?FI=ouP*9HO*3=)izP=c&-c)?NCy z#>U3vm6bt^rO}Ii(ozVZ#uTbPDz(U4@`8BoUu`=G!g;8|KPwhJ6;)M%*A=GU zXbs!D0OLOI>voglDvuBuOp$DA;-*SLnX%kYhR@r%9~vOr4CT?nrH=tEANcn0 z)>8$_c6N+Tt%A_&zEzLapxnU!+j0H3523SLR>bJAfrYL z1B*al%~P>4zl6@mxC)_@CQ&Cry#^5;MKC2`5IX4je)Al3n(2)V6+rF5kOpgA^=`Wg zC!OaiFa~#bdH9*z4jW9vRp;(}*uAkBL<1mF-uxbUEkvkA-js1_`g9|+X zV6ANXVM!(jAek^b6BaE5uas6-Ty6)}M!r^6L7JD0AuX#;5LhrB;DA8${fXn&&4Ost zJo^|3qUZKX5U`x~L1b09UX-&Jm;s*@D~!(vtd*ws<$xcxc{}M1*5N3CDxNgtK6?r= zYkmK5F*!ZGe_!@QO< z7-?07FL40~1l?bVY-%+eKSl~*cPfyK-F!Uph9yveQ%f6E%b-wfdk-^Z8>~=4C<#)8Bf8dY^%(9c!wj5&2T5PcZ=3no z0%UWfWP7pQB1GsFt{v+EyG$lM){W3*i=-kuA^<94NT>fFIPVpGJ{N5SI?7zj(v}NN zY%847XHMGs4oi^hwzRVPah$%C@_QaiR)fh*aKMCx9Vyu;6DL)htFaF3#h&YTU)EY2&XDq0F24o^HENi zqundKYb9u$f=;1E^<7+Cz+4<-zXMtr)ZX=^VWQ0+g`rPWFqy%@Z#~_gs^S)Y1_TC` zfED%*fmfIG=hLraFBlgFybFhyFG#CT@YR%gz03IoZyFFA=D%smtEvX;Dv|^nTwYz# zH9%RBBF(1f=hK&0|8s@N0Hr@Cx?@O@FCK}2eex^z#RvKyl`+prrx}d~)d=t}K=lm* zkL-5BISAGQuQ!85!J-DyjMvau)SIb9f7m|Zf5$DWDx-EHMqek{(E#uJR$IFduA>Ej z+5w>QEWt?;bc#ZSGCEG$nbeC!gUCTag;PSV9c~Wvs7JnHb9Z_^nF=xEi{=V;DO&nO z%=qBlrtHlV`_kpAs7w)kM+u|vprgVLh=`aNl-uBeM}gKgL;`hq|9oa?DXQks zN2oyR?JH1%m6c$Vtl!QGgaXw=y=mUQ4^2EJe%L1H9tP{4ut#&c@gwGrkX z^?m*7@qgGtfq!u@_Zfh6vZScT`)m4!31AXS08@oE zi^-L6-`30r{^{GyXYcklK%#+y4r`3yu=P5;SU^extdP*XqZ>e_zY7ov$0RVChKlG{ z>u6|d0x}PJ3-}iR=S)G4GbU7Izl84M)>P{ik(?!1@+gDBDp);$?xzCmi`uTccL1rH z0eb5!*l$w`C=b910Ef#12u)2*tuB3_r4F_)$%1ao3j9y_y^eonU^1fxeuMaulu%|- zcSVdJd%3SzWpTLgDZxY|Fr>gBEa`P7oBWD%ae%}C_A)^G06x<{A0ZMUpJYJ(L5tkQ za;!>EZE4{t2)xpVJu|P<4P`*4=T|;7+v5SOKD6bMcj0YZn`KiNn3*r=P4`;1z`)3k z4=SA#mp=xs>0G(81z=b(@C){V^1Z@NY|ZCi-DyQ4pW{hWg0I@#l2I@U_bNKeLzHfnB~K0I_ezOrClxL@vKcVg1{3k~hpFOWJRW`q%FrCzwAe z^<7tcq5mW^uKxZ9z>m*Qr_VvFAr}N6!%o`R|00s^d!&Sec7^p(6##zGn;wj>)zu)? z9NJ^rYYt$mRM&YJhKL*h<)A^G%6GIt&|2Mc%C}tj)NpCBh9<|xEPy%z3($4cj6#h#c^J=v?7bI#@K#fXVHE>I1nQ zqRZBc2v%f?L-N-l(i&8vkpSqlA!yicD=3dhU+ zp{Ez`-$T}FD{`V~NZ0-*Uj`yyFe z$&up!$~JL~pZ&kb)rjS!##t4Xg%8)fL3ldtR*Nf#{C7}r9jvTLrL=L$Xp!FzcQ}tY zEQeBZ%rKZ@V7lYoXNV%x`lT#pW;1MM6}=sAPSB?pJ6|J!mZ*p1&%nh6MW2}(-uw<) z`uJKuwKfsQcu$Ze141St)xZnR$d#oCG=XjUkrKMH&|<1S%J?Uz9aC~nB1C0rzBeJ(9lMuZP zzzad3ndOzcxDiK*Qk!*Go8uH$hd3)VS^TlNiK`ewyWS;FpB(0uW$6|omheH4R1#V5eVVg55(c#eR(MSbpL_kdLCE=@ zzgp@X`+fV{hwEB1G;XRsBb2y&y}lPhn~%5}>J$#e8RIkuOq=4a6_^`MFE(?6rAJjP z`w832t1wp^y8B#@?ZY3(*KzHnppRFSR38eYE6M6mluW3@M7xlS^u$u4ZL#H_Peo@G zMx&cahVJ{E&C!6@YZhKfnYW@>&eC^VKUGw2gVE6*f*W>2b|YZ@1-Ue4o4MC@V$-7g z49RCT>-0yVY)Y6Q%EM-uRFbnyBr;Ye&Bet5pU63e9-XqFYs?IPiqPTPk%(F*Z}VPv zTi&kct|YzH7tu&q_)N2N=#lWztsoSK5{GUNH;@sV`60fJpS?W^Gr;;yNH<7alH^1W zv?mwwlw!RsqDWw{{*UyngJh&ZN=isL6Lp?|Ek}B~!+ai9xOLATzUXJ@Db}xx-ny0o zac{VTb1Gzi%D?3H-Ha()tmA4-)?abvY-LA_w6uy2z93>IS~lgGhxa9{tcv}K*u?fZ zqqJo9J42RZN6Nv%N6p4EKSuudc-oD%QUCN^R@BcybmRE}d+T^AB>syv?x(jPN~_)Z ze5-8kI7C=&9@*G54W#lc(9Unb|6~9P)`?xf7VoxO+oW?`sTdJQFLA*@bW3r$4aD$~ z<>D1rbY~mcv-9(tw}Nde22Xsc&zoT=QN$jkjkP$NeVa557ECF>mN<0R6H_x|?wPv9 zkl=5~pRrPm4(pV1Le8)5F&B#(6>)RlY!UuVGJYSHe)>q>n}HS^JEM_w9o(&OG#y0c z&ujL<=W-hI{Ntn=uE?Ix`Pu&{*qgd&setC@s8)?@aI1ZPQ*EvxvP&vfY>WwBY+{u9 zfcQC~j=#se=i*}PdA%ERWb=;{O*gqW~mO&eQzq)w@7BzW+$if%w$%!zm z_G!7k4>QHKY(a0|FvPr-8o46W9+6SSue&3J8Jo6RJ@eh z+Q^@QjA2`ZEhYFlvE@8l2z~K#zVpYy%fV z`Gjob;6M0qL1D80)p6e8RKNcpR~pEStn3wqY-Jrgl2ukx#}3)a3P+N?XEukZXo#{M zWoJ7!$N6N0)Hz1T{=UwizdwH0<+}Royw5rB-siqw_j5ex1`x+ebV_SvVA>Nlc7sq! zx0^lX?#4h@0p#J66@C5vvu@cxX|6V|eanO6>4*9s5f`fyfgA9tvC*oLcyO9hisKtK zZ77#k_Y?l}qu1hVZpaI0ZW9I88n_v8kC`Y`Cr*A5R`&~)iLgrWJNSsD&Tyum+B^9b zaTH;3Xk5Y&@sVc6#?yj_Juoslon!A)9zo@jkiAE6eo$on#i706f2bXPTSYp)SKMr0 zcq%Fxe`sy~MX~s$o6rbeq46PSW7mv$PMq1f)1W-~oNYyW;$1j0B)bdw;KXAm*$$r_ z^^u54Tw+{%#HrwXiWll|j?y~X8^YT1LSCc1*(%BD)bvWMN@J;BmO%o!}ju-zYQ=(!PL3R0jojFPCTO z((0if6^*U3=&Q~vjzzGop)H5iOlRvEE*;tVe6gnHP@DLD&Ex3&w$^wUn*Lu-&T@Wy z;mh0#0ZFF*6e=m#{92p!d>Y)0#j01Y8scV3#O9X|ws{J4;Vt`7dCM19)q)$IIs__* zk159vjfOew*;dF_%~Ivi5OdtgZ9*9$EEd{U`PN^_1}a2taj0APaE#+)gWKOxmE77ebePkOt!x0NUYrZ zljDDm=>#i_wR0`*ni}+S&K49-PfstBKrQRj_@gmb7Z(LuCA9O@d|zK*=Pdg>>8vLO zz54;~Z3xlxvF&oYB0ErozK|pD(Y(_qkI$_EaccFxA5QRLf38UX+n-r!6y=;f)ohwy z-V2V^r?w!E&aO5-isnSf2%OOptTcJOs-YqxG*rAl*kPzvsVH%FUoCn+p!E#W*eI8c zM~szIKU_{Z(#+(=BtC(f#`@mcP*HkUVT_MfG#Bo9_Fc02(`>)aHeCN5c*(Y29ac)J z=Hq|N!)KDG%#DuSXefUEmSF6R+4=1b;`DzIR7G=nUxKok}zbYSmIVr=*d-}F& z^$)T@tTB`M`3`Hm5ytRB3ZEJcqoOaFtt6jf0e?O50{zM0?;L3*CUeRBMJulpIHH8? zWVrbLc3@whPL)t(AG$PF=(t#9KES&@{#;W|IUZSK)AXA?ye|Ph^bj^Gc)gFJr*3>= zbN_H7>tX&6u%Z|meEp@_1_IbNgB8_5IdMcH3kILy#>d9C z?eE^56cSnN1F33+Q_+u*>jPRrIrs6uP6scq%4@|&_~;m=F~RZklN)@=-a!%$xv}7OOSffK|S)7tuAQz1JyMuW*`LmFP zEjdc&N-2t-jZ#SE@$wLA&i_kFv~b4BxM!`WP{;gXi3i@o@5KeD2FeOEP0)rG>P~;y zzoDKcbzMp1{hh&!yk^a#;la5tWXIEVVi5f=WINH?LT#Pbbg=xVEpj(HmE~D@i_}A| zqAkqVWkSae^7xb*4IjHMVprDkfn-9CidKaKT_yiL3Y9~$B7_oEOhR0Qk=1pJQc-PP z1LalW8#3$;;GJ#!h~#D-P~Nd>k%-&U)zv+oU-uvLd-7y=7>mVcCe1ezy_45Bw}9Pq z3S!8cG_=oCp9Zs@g zOwNrNi0AV@B;W*w_Ud`J=eAiDWC&y$XBiz0|sa07wtv*Pp!LL;)rB$2s zTC@Hz&=wI@Es$eeb%-^_elkkAJy_0CDDWz@JwZobty@P+EGx?4murRWV`HmsqR3DG z-7_MBAcSlnj^+_N5j+-rX-^lCFg2O4x*n zF~|1No_X$fCFYYiNC(|;D*uox@4@BUaKG{C5TU5EBu+b74I#BmuBA1ROM#OTFj^Fo z*VDH1XriMxQ?#hiAS&zo>$9Jc`cLDGK_i}^KH++4H&W_67gg$ugF<17a&n(@-)sY( zPTahC3&X-jRVYx_^i;<%`{h@jVFZP?>uW=~{b&^${cDkXjI4o|b)r8`wAgA`{4Kir zf!;d%Vmc7*%#7N9olT@n3UQz~M-2Gb3@mS-PpWA*7A% z@4fHXs~VUxMbG*(`5RN$MRVJT#RE&JBqJ0im{16|?x>0~?>~Zu=5vrh??Jc z4y0i;!#3O7En1mk&{5#pf|c{khP4LxXrl&YRR{fwL=%tt6`{M(^qfm9tHcdua;@(( z$7_RXn|Lt#Aw&=aqRFIEXOHFjqboqWyM6zDUSddDB~87b3evH zFn5ZB7EIRv!lj>XCu~6-dIFbrU`h=I~isb$P1E-I>I0cude@B7ubQ~YRFE#vT>#q;pVpb2Xan^!s9 z8p16DgM2TnzWhoJ&NoN&>Q(buEQV_yEnV@iWTx6V)vC%d-X9_$XGNKN^x&a3htAl& zgAi1g%jdbxUGY8fuw=6sGR?bp*_dM;tbkoqGO*OpR8nGp0GncOr^>b@I9=^)&p7Pt zqY_b~%%q0f#PKw}&PtyX&8<#z1g`;8SNMb@eJ;PM?r=D;u6$F5)6dzN>TWV-LUw?{ouJivtWJ z1UOyC)30`UrC^HxRosv4Hl+tn2I9BN&E?h#qK>-H{B2Xrcz#rhnqS0k# zON^z?A-3TDwfoI@orP3WJfwFy9&7aTM{_WUKsD^+E=)3JB(PgDP*L(AboLc4|In8( zGufFmlG^6Q*rEVZ>x0w4g>eroulsl!j7_v)g#7-qr?#HpZTL-HYSk<`a z1px?53rc30rOpHJp_P``{eQuSvxU$LZRCw$$wcFaMfhmOs)s{ZEaUD-naYzwK*PLq z&gO*k$v`k1e?RT-?X|(yWe+RCgw!6JL{MEIm{33ILe|LFN%G&w%*=tei_0%R0KkN# zr=^Y5`Vk+9yh@9(iL)$M%GKLQxFjeT4L1cn^cvy?CEwvD8a{2B%>fCSicmXG>jm!; z19phy@t#auC$tn{z3T;*UK|P2F_e*!frEkO5fsf+!D%BcbpSwF@lkL@Ss6OeP9(39~JGkbuQ4M>n7n2U^~e7C(4Y{oo&U;;BdH&?n?z}i7I=-Fwnbt zU*o{&>FWmzu*Y*j=1Ubl*R4~t+Zto7GhquCcmqKe?#B(d56l-XoId)&ee@NaM`=Eo zS@iE@mx>_b+V%-sfqjs5>bI!#eg&<9p}geebx%{%(ME8F??%SYvlgE^5k<-yfU3*{ zT4u1UvU0Eoe2>2*Cn_G|LDC_12+?l|JJRg&-@$vhSg=2{)C-O)%F=R54<2EZJh-Kq z9G_-deYq1Qr|3g#7c=fvL+HyH)Xd}b{QTKQn3?B?Zg9)OLZq?=m+F(C4uBxT=05(o z*%;Ookp5@W3kr^3knnZEVAmQdO=|B&#CthXhzNp_QJtBQ5h5TfyEOp5GdXDms|z^{ z{|{s5t zie0{3uYCRb?iN@@Yv!0eQ#*Wfur}!36hCeY&4ys`SCNpgm5gen;y0)c$<_APrR+)uGGY`{l|1npH79QFd}vdJEo# zs>Q=`G_?Zf|nuFM?SY2LZd!r6nZ?)wQ+$Q*-UH zrtqzb_`O;IMTxC~%D!FAbPa4D;myF{%z?$X*>o z!yO>KTmtQ199i%4#sR{u>&@}&yjo;)KXW|HAm^h8RMzHIAB99nQAuyZ4|3Sa!-L!F zSm9`L$jM}EbTkWj_{%&Vmb$_|$EW;oi&7!MveLRQHB7G1v8+n+TOio+2n>SE>v{c= z;PmeRq|{kuYvfMEz|uvAN1QB=@7>GU1vz~L&=B6eE}ywzyF1c`yFRqGo%ok5K~jN% z4D=n(#f1f{N1rW`UH$#r_<*InpU^++g-(odI49<)r6u$Lu3;avz|Sp-bN6d#{ZWgl zt*!mJxB6i`qQ);yvOfwEjjn(r3y5w1R1T2QjXxf!X<%(QeZw>xsl%k_4XE6o(2j6% zw736PVYVs_+lKi-mUJgDIaP*Rr8-{qjyG@1LUhQ4;Cbx`2RP3MQ2p%yLTWF8K-d(w zZ?<;0~^e9gGSMkQH^4SA+}xnz z_p7T=PYZ)Qd}19`iAX@$)FfD*gCJDdyV#SNV0fx2%)PK1)Q#)&~9dx1& z&cZcM!*{B&ada2U&EDBUwj9#pj_EKPWsSPH6(CT}q-`E3y8qoj9SjkU-FT0nR#6d= z=wJ2CJwH5yngNCTsAONJgB5znMkXfqh6V-?T&gCIfG6^^4%VNA@(;}}XHGs#4WGec z`Nu2n+V$ti4^&V8>Ext^KqeM@<))tA)hwDGyC5A%4FDyz6y`S6clR2P%kVa&fI`~- z4lz@uz_9t>T&(x#TT>|jB^xW9DNcB%2_LPuRLz;r3h9v^a> z!fP73(%%7;)DEe(R+yx6eC{8ox7!9ZH#AHu4!d#M#Yx)&R+o%VP|)E$d}#<~xxq4i z{L8oD9OAd);8lTRM5xPBvEQKxfTGC+eY7lm>}`A;6zsem;2$z62`MQtN%)g7k&;w^ zKS{|e5)uj$63@to4*t&z+&t`^9RvRV7py&SR)rUs2bx&;+_v%K@$~j^bar*%@d@yB z;Bof!u_Gh%&z;|(rtmTo7XEJ7)2q99n~a?QoVeXNMt(-UR3>sp9?ejhR(o>(DifZb oiIJ|h-ZqZ5vpu0Yg*U~?ez7q4Y^cko!&{K)Y8hz0SGNxPA8zPqJ^%m! diff --git a/site/assets/favicon/apple-touch-icon-60x60.png b/site/assets/favicon/apple-touch-icon-60x60.png deleted file mode 100644 index 254fd66fdc27a99cf6519e8266de2ef5d7e7cca6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5062 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 fk|HzpD%2FBN6o8hRp6WYg+o=Bmv0Zyn diff --git a/site/assets/favicon/apple-touch-icon-76x76.png b/site/assets/favicon/apple-touch-icon-76x76.png deleted file mode 100644 index 0b24a0bfca2e2275f2ff70963dcfa9f9c1f3b5a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6667 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 diff --git a/site/assets/favicon/apple-touch-icon.png b/site/assets/favicon/apple-touch-icon.png deleted file mode 100644 index ff3edd4a48c40c1c556636624c5a0b4083cbf608..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23371 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 diff --git a/site/assets/favicon/favicon-16x16.png b/site/assets/favicon/favicon-16x16.png deleted file mode 100644 index feecd920540a6732a1f9c3bf574cee90c498fd31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1222 zcmZ`%drZ?;6uzZEnV^$F2RIffWjt&oZH1UI&3J07yhT?*h0=mzaMDtvZNfk*CM4VB zQDuo}00lzEYA7(>hSu>Ago4#tilZ%3`)f;iwBy;*((dx7f9&R-dvZ?hch32~d#lq^ zkM7*DX9oaaCzXpmRMRml6j+*DX&w-3`V;3`%AS0K8BDDsBL< z2~!mY0Im=LFy;Xe^9uleC5?Y(90I@vlb)QF1TSP~=j7(*;&3E`F>7Zw&&D%G-dXjLJdc|R)>iQqi2AS|oXAvT+>zrVk{ zyu7xyc64-fadB~JY3a_LJ6J5XrKLqClgZ`swzf7%&0<+|I2T3YFTzVoe*oc zJI!;qmNf+PyvX5jZf!XiwLfg=zA(+kE*aW3)(tBwD-wz1{=NE_&kpOS@C!=3)qv9| z&O8@C*(PW<7Z(>tgoh+k0+{Fg?$+-8>ruqZzKCZc95HfFe0%~NX>Dx{a%8hv+1aNf zA_yV)fFp^)smWw|ZYqz*rO{{;6BAHFD9iBhFcg`d�-bgS_GVR;#tHt`6$c+}sRF zwYIi4G&D?2O)Z&BP?@TmH-(QLy^>0eM&s7jmR+l~y?bSweq){e$2hCDsweGAnN>Dy zQ^_1lM$3!G)`@ z>Ka_FpRWn^zNm0avwU4B&o=FYX|7m_JkamW^j>JwVw-&^&Goa3lMWUZSFJaOqQ4an z9dRXo=<0;!Q2ED?CZ6D(|I!@>7!EZh38VAcg~fV*zw2@dOgX8EaasN{MjmiEf{Me@ zy)#1HJ@N{7`!twW8U%HPc_{YjcT6UtMZ54T6MTJdPkrq#IGH7{Oc?0L2lM&z=%`-* zo-37n{(}}q{s+xebwXK)0k^N zRX*_XJ19MP$ZH}}c)+fDs0_H)>_Aq`tIO;EBA6~z)iJ7iF=m(srTB`IMB^~&oPrnz zy8t>sCX&hfNpMGHkx4OdlMWJy#26w`Bh$Y42yp2#v#5~!|A6|R&+s7NJ6;xzlS#iC zRKmVoSX5jP#Nn0{1QnHV7yw*r{IKlh!8#QlKAJWrp(2?8jrWXXc>3Udj@SF5eS#7z vq6U~~e0NsR*wovRLCIj?AZDzB(sV2m82!9C%kj~-VGBS_N=+2T=T-g(0!3RR diff --git a/site/assets/favicon/favicon-32x32.png b/site/assets/favicon/favicon-32x32.png deleted file mode 100644 index 044f4cb0e89468ba53f460451c62e21c10d30d45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 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 W>JG+|gGCXv1t2-O6COJFC;b=6EIr=< diff --git a/site/assets/favicon/favicon.ico b/site/assets/favicon/favicon.ico deleted file mode 100644 index 55fb4ebffecac868588d3911308f35dfc08f6f51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 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 From 3c6ee9b0af7516ea6c8aa468c3cdd8597b8ccbdd Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Sat, 27 Dec 2025 00:04:50 +0100 Subject: [PATCH 04/25] remove switch --- site/_navbar.html | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/site/_navbar.html b/site/_navbar.html index 87d1b80ac9..e1ddaa9b73 100644 --- a/site/_navbar.html +++ b/site/_navbar.html @@ -37,16 +37,6 @@ From 531d150219cdca52c0f8f2f009fefd846ff2e56e Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Sat, 27 Dec 2025 00:08:30 +0100 Subject: [PATCH 05/25] center footer --- site/_litedown.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/_litedown.yml b/site/_litedown.yml index eda5918636..268424f541 100644 --- a/site/_litedown.yml +++ b/site/_litedown.yml @@ -14,7 +14,7 @@ output: favicon: "assets/favicon/favicon-32x32.png" footer: "" include_before: "_navbar.html" - include_after: '
' + include_after: '

Developed by Tyson Barrett, Matt Dowle, Arun Srinivasan, Jan Gorecki, Michael Chirico, Toby Hocking, Benjamin Schwendinger and Ivan Krylov

Site built with litedown

' options: toc: false number_sections: false From 49b5f0afd51cadcf76ae2359f6ca4c50e94d9e5a Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Sat, 27 Dec 2025 00:09:59 +0100 Subject: [PATCH 06/25] update .Rbuildignore --- .Rbuildignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.Rbuildignore b/.Rbuildignore index e15309a2ef..502786a7f6 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -26,7 +26,6 @@ ^Makefile$ ^NEWS\.0\.md$ ^NEWS\.1\.md$ -^_pkgdown\.yml$ ^src/Makevars$ ^CODEOWNERS$ ^GOVERNANCE\.md$ @@ -45,11 +44,11 @@ ^.*\.dll$ ^bus$ -^pkgdown$ ^docs$ ^lib$ ^library$ ^devwd$ +^site$ # only the inst/po compressed files are needed, not raw .pot/.po ^po$ From 7857bcb9779966a3dbd7772dd103beb957aaa70c Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Sat, 27 Dec 2025 00:17:15 +0100 Subject: [PATCH 07/25] change CI order --- .gitlab-ci.yml | 7 +++---- site/manual.Rmd | 48 ------------------------------------------------ 2 files changed, 3 insertions(+), 52 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e77c256480..b13117b153 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -366,11 +366,10 @@ integration: ## Copy assets to site directory - mkdir -p ./site/assets/favicon/ - cp .graphics/favicon/* ./site/assets/favicon/ - ## Build litedown site - - cd site && Rscript -e 'litedown::fuse_site()' && cd .. - ## Generate reference pages + ## Generate reference pages first (creates reference_index.rds needed by manual.Rmd) - Rscript site/generate_reference.R - - cd site && Rscript -e 'litedown::fuse("manual.Rmd")' && cd .. + ## Build litedown site (now manual.Rmd can use reference_index.rds) + - cd site && Rscript -e 'litedown::fuse_site()' && cd .. - mkdir -p website - cp -r site/*.html website/ - cp -r site/reference website/ 2>/dev/null || true diff --git a/site/manual.Rmd b/site/manual.Rmd index bd30ffdb1a..dd0175949c 100644 --- a/site/manual.Rmd +++ b/site/manual.Rmd @@ -33,51 +33,3 @@ for (info in ref_info) { cat("\n") ``` - - \ No newline at end of file From 693f9144a7924950a914e45238429dea54629fb8 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Sat, 27 Dec 2025 00:19:56 +0100 Subject: [PATCH 08/25] remove styles --- site/assets/style.css | 47 ------------------------------------------- 1 file changed, 47 deletions(-) diff --git a/site/assets/style.css b/site/assets/style.css index d2f7f75f97..a3e83cda86 100644 --- a/site/assets/style.css +++ b/site/assets/style.css @@ -110,50 +110,3 @@ pre code { padding: 0 5rem; } } - -/* Dark mode styles */ -[data-bs-theme="dark"] { - color-scheme: dark; -} - -[data-bs-theme="dark"] body { - background-color: #212529; - color: #dee2e6; -} - -[data-bs-theme="dark"] .navbar { - background-color: #343a40 !important; - border-bottom-color: #495057 !important; -} - -[data-bs-theme="dark"] code { - background-color: #2d3238; - color: #e9ecef; -} - -[data-bs-theme="dark"] pre { - background-color: #2d3238; - border-color: #495057; -} - -[data-bs-theme="dark"] #TOC { - background-color: #2d3238; - border-color: #495057; -} - -[data-bs-theme="dark"] #TOC a { - color: #adb5bd; -} - -[data-bs-theme="dark"] .ref-item { - border-bottom-color: #495057; -} - -[data-bs-theme="dark"] .ref-item h3 code { - background-color: #2d3238; -} - -[data-bs-theme="dark"] table td, -[data-bs-theme="dark"] table th { - border-color: #495057; -} From c9f0c2899ab76d4e4e5ab2571aed79acb5995b34 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Fri, 9 Jan 2026 13:15:07 +0100 Subject: [PATCH 09/25] update manual --- site/manual.Rmd | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/site/manual.Rmd b/site/manual.Rmd index dd0175949c..8c5b5b8381 100644 --- a/site/manual.Rmd +++ b/site/manual.Rmd @@ -1,13 +1,19 @@ --- -title: "Function Reference" +title: "Package index" --- +## All functions + ```{r, echo=FALSE, results='asis'} # Load the reference index ref_info = readRDS("reference_index.rds") -# Print function list -cat("
\n") +format_alias = function(alias, link) { + is_simple_name = grepl("^[A-Za-z][A-Za-z0-9._]*$", alias) + alias_text = gsub("<([^>]+)>", "<\\1>", alias) + if (is_simple_name) alias_text = paste0(alias_text, "()") + sprintf("%s", link, alias_text) +} for (info in ref_info) { # Create a link to the individual page @@ -15,21 +21,12 @@ for (info in ref_info) { # Format aliases as function names if (length(info$aliases) > 0) { - formatted_aliases = sapply(info$aliases, function(alias) { - # Don't add () to operators and special symbols: - if (grepl("^[%:.[]|<-$|^\\.\\.?$|^\\.$|^\\.\\.\\.$", alias)) { - sprintf("%s", alias) - } else { - sprintf("%s()", alias) - } - }) + formatted_aliases = vapply(info$aliases, function(alias) format_alias(alias, link), character(1)) alias_text = paste(formatted_aliases, collapse = " ") } else { - alias_text = sprintf("%s", info$name) + alias_text = format_alias(info$name, link) } - cat(sprintf('
\n

%s

\n

%s

\n
\n\n', link, alias_text, info$title)) + cat(sprintf("
\n\n %s\n\n
\n
%s
\n
\n", alias_text, info$title)) } - -cat("
\n") ``` From a9abe51fcf1e7fbdc10682c81259253df3cd1434 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Fri, 9 Jan 2026 13:34:23 +0100 Subject: [PATCH 10/25] remove toc sidebar --- site/_litedown.yml | 2 +- site/assets/style.css | 47 --------------------------------------- site/assets/toc.js | 51 ------------------------------------------- site/news.Rmd | 4 ---- 4 files changed, 1 insertion(+), 103 deletions(-) delete mode 100644 site/assets/toc.js diff --git a/site/_litedown.yml b/site/_litedown.yml index 268424f541..fb8dbcebb2 100644 --- a/site/_litedown.yml +++ b/site/_litedown.yml @@ -7,7 +7,7 @@ output: html: meta: css2: ["https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css", "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css", "assets/style.css"] - js2: ["https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js", "assets/toc.js"] + js2: ["https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"] title: "data.table" description: "Extension of data.frame" lang: "en" diff --git a/site/assets/style.css b/site/assets/style.css index a3e83cda86..6ac4802580 100644 --- a/site/assets/style.css +++ b/site/assets/style.css @@ -1,9 +1,5 @@ /* data.table website styles */ -:root { - --dt-toc-width: 320px; -} - body { font-family: "Helvetica Neue", Arial, sans-serif; line-height: 1.6; @@ -54,49 +50,6 @@ pre code { padding: 0; } -/* TOC sidebar */ -#TOC { - background-color: #f8f9fa; - border: 1px solid #dee2e6; - border-radius: 4px; - padding: 1rem; - margin: 1rem 0 2rem 0; -} - -#TOC ul { - list-style: none; - padding-left: 0; - margin: 0; -} - -#TOC a { - color: #495057; - font-size: 0.9rem; -} - -@media (min-width: 1200px) { - .body:has(#TOC) { - display: grid; - grid-template-columns: 1fr var(--dt-toc-width); - gap: 2rem; - align-items: start; - } - - #TOC { - grid-column: 2; - grid-row: 1 / 999; - position: sticky; - top: 5rem; - margin: 0; - max-height: calc(100vh - 6rem); - overflow-y: auto; - } - - .body:has(#TOC) > *:not(#TOC) { - grid-column: 1; - } -} - @media (min-width: 1400px) { .frontmatter, .body { diff --git a/site/assets/toc.js b/site/assets/toc.js deleted file mode 100644 index 7b93e29a46..0000000000 --- a/site/assets/toc.js +++ /dev/null @@ -1,51 +0,0 @@ -(() => { - const toc = document.getElementById("TOC"); - if (!toc) return; - - const content = document.querySelector(".body"); - if (!content) return; - - const headings = Array.from( - content.querySelectorAll("h2[id], h3[id], h4[id]") - ); - if (!headings.length) return; - - const rootList = document.createElement("ul"); - rootList.className = "nav flex-column"; - toc.appendChild(rootList); - - const listStack = [{ level: 2, list: rootList }]; - - headings.forEach((heading) => { - const level = Number(heading.tagName.slice(1)); - const text = heading.textContent.trim(); - if (!text) return; - - while (listStack.length && level < listStack[listStack.length - 1].level) { - listStack.pop(); - } - - if (level > listStack[listStack.length - 1].level) { - const nestedList = document.createElement("ul"); - nestedList.className = "nav flex-column ms-3"; - const parentList = listStack[listStack.length - 1].list; - const lastItem = parentList.lastElementChild; - if (lastItem) { - lastItem.appendChild(nestedList); - listStack.push({ level, list: nestedList }); - } - } - - const currentList = listStack[listStack.length - 1].list; - const item = document.createElement("li"); - item.className = "nav-item"; - - const link = document.createElement("a"); - link.className = "nav-link px-0"; - link.href = `#${heading.id}`; - link.textContent = text; - - item.appendChild(link); - currentList.appendChild(item); - }); -})(); diff --git a/site/news.Rmd b/site/news.Rmd index cc394b9d2d..e70873d59b 100644 --- a/site/news.Rmd +++ b/site/news.Rmd @@ -2,10 +2,6 @@ title: "News" --- -```{r, echo=FALSE, results='asis'} -cat(litedown::raw_text('')) -``` - ```{r, echo=FALSE, results='asis'} litedown::pkg_news(recent = 0, number_sections = FALSE) ``` From 37e89a3a5a8bc77b6adbb21063356251763bd13f Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Fri, 9 Jan 2026 13:39:09 +0100 Subject: [PATCH 11/25] supress warning --- site/index.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/index.Rmd b/site/index.Rmd index 9b7215fc45..bc98daba0a 100644 --- a/site/index.Rmd +++ b/site/index.Rmd @@ -27,5 +27,5 @@ if (file.exists(readme_file)) { ## Citation ```{r, echo=FALSE, results='asis'} -litedown::pkg_citation(pkg_name) +suppressWarnings(litedown::pkg_citation(pkg_name)) ``` From 4e3c56970ce140cc18d450f9dfe4e4a66cc68c90 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Fri, 9 Jan 2026 14:08:14 +0100 Subject: [PATCH 12/25] fix title aligned --- site/_litedown.yml | 2 -- site/assets/style.css | 5 +++++ site/index.Rmd | 4 ++-- site/manual.Rmd | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/site/_litedown.yml b/site/_litedown.yml index fb8dbcebb2..10fc303455 100644 --- a/site/_litedown.yml +++ b/site/_litedown.yml @@ -9,9 +9,7 @@ output: css2: ["https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css", "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css", "assets/style.css"] js2: ["https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"] title: "data.table" - description: "Extension of data.frame" lang: "en" - favicon: "assets/favicon/favicon-32x32.png" footer: "" include_before: "_navbar.html" include_after: '

Developed by Tyson Barrett, Matt Dowle, Arun Srinivasan, Jan Gorecki, Michael Chirico, Toby Hocking, Benjamin Schwendinger and Ivan Krylov

Site built with litedown

' diff --git a/site/assets/style.css b/site/assets/style.css index 6ac4802580..bb361c7b0e 100644 --- a/site/assets/style.css +++ b/site/assets/style.css @@ -22,6 +22,11 @@ body { padding-top: 1.5rem; } +.frontmatter .title, +.frontmatter .title h1 { + text-align: left; +} + .external-link::after { content: "ext"; font-size: 0.75rem; diff --git a/site/index.Rmd b/site/index.Rmd index bc98daba0a..e97e6b1d46 100644 --- a/site/index.Rmd +++ b/site/index.Rmd @@ -1,5 +1,5 @@ --- -title: "" +title: "data.table" --- ```{r setup, include=FALSE} @@ -11,7 +11,7 @@ pkg_dir = find.package(pkg_name) # Read README.md from repository root (one directory up from site/) readme_file = normalizePath(file.path('..', 'README.md'), mustWork = FALSE) if (file.exists(readme_file)) { - readme = readLines(readme_file, warn = FALSE) + readme = tail(readLines(readme_file, warn = FALSE), -2) # Skip first 3 lines (title) cat(readme, sep = '\n') } else { cat('README.md not found.\n') diff --git a/site/manual.Rmd b/site/manual.Rmd index 8c5b5b8381..f1e755d603 100644 --- a/site/manual.Rmd +++ b/site/manual.Rmd @@ -1,5 +1,5 @@ --- -title: "Package index" +title: "Manual" --- ## All functions From a1bd14355459fa886cfa89dc0a0f7943c33c3111 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Fri, 9 Jan 2026 14:52:24 +0100 Subject: [PATCH 13/25] update NEWS --- site/_litedown.yml | 2 -- site/news.Rmd | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/site/_litedown.yml b/site/_litedown.yml index 10fc303455..7de211d59d 100644 --- a/site/_litedown.yml +++ b/site/_litedown.yml @@ -15,6 +15,4 @@ output: include_after: '

Developed by Tyson Barrett, Matt Dowle, Arun Srinivasan, Jan Gorecki, Michael Chirico, Toby Hocking, Benjamin Schwendinger and Ivan Krylov

Site built with litedown

' options: toc: false - number_sections: false - embed_resources: false --- diff --git a/site/news.Rmd b/site/news.Rmd index e70873d59b..cedcff98ae 100644 --- a/site/news.Rmd +++ b/site/news.Rmd @@ -3,5 +3,5 @@ title: "News" --- ```{r, echo=FALSE, results='asis'} -litedown::pkg_news(recent = 0, number_sections = FALSE) +litedown::pkg_news() ``` From 72d2b9799c11d55ea4ec077bdc0733b99065508e Mon Sep 17 00:00:00 2001 From: Ivan K Date: Thu, 15 Jan 2026 00:18:32 +0300 Subject: [PATCH 14/25] Add tags for favicon --- site/_litedown.yml | 1 + site/generate_reference.R | 1 + 2 files changed, 2 insertions(+) diff --git a/site/_litedown.yml b/site/_litedown.yml index 7de211d59d..0261ca07d5 100644 --- a/site/_litedown.yml +++ b/site/_litedown.yml @@ -13,6 +13,7 @@ output: footer: "" include_before: "_navbar.html" include_after: '

Developed by Tyson Barrett, Matt Dowle, Arun Srinivasan, Jan Gorecki, Michael Chirico, Toby Hocking, Benjamin Schwendinger and Ivan Krylov

Site built with litedown

' + header_includes: '' options: toc: false --- diff --git a/site/generate_reference.R b/site/generate_reference.R index 1293af37ec..8a070a7416 100644 --- a/site/generate_reference.R +++ b/site/generate_reference.R @@ -72,6 +72,7 @@ for (rd_file in rd_files) { 'table { border-collapse: collapse; }', 'table td, table th { border: 1px solid #dee2e6; padding: 0.5rem; }', '', + '', '', '', navbar_html, From abac2b0b91052f8db82f6ba1831f5d387207f3bd Mon Sep 17 00:00:00 2001 From: Ivan K Date: Sat, 17 Jan 2026 21:10:01 +0300 Subject: [PATCH 15/25] Enable TOC in the news In order to use fancy left-side TOC, we'll need meta: css: ['@default', '@article'] js: ['@sidenotes'] in the YAML header and .body { max-width: 800px; } in the global site styles. --- NEWS.md | 2 +- site/news.Rmd | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 28ef53c514..8814061874 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -## data.table news and updates +# data.table news and updates **If you are viewing this file on CRAN, please check [latest news on GitHub](https://github.com/Rdatatable/data.table/blob/master/NEWS.md) where the formatting is also better.** diff --git a/site/news.Rmd b/site/news.Rmd index cedcff98ae..c082ec45a2 100644 --- a/site/news.Rmd +++ b/site/news.Rmd @@ -1,5 +1,9 @@ --- title: "News" +output: + html: + options: + toc: true --- ```{r, echo=FALSE, results='asis'} From 4fdb958394b16620340f1dd096ad8d92da03c766 Mon Sep 17 00:00:00 2001 From: aitap Date: Wed, 21 Jan 2026 09:22:16 +0000 Subject: [PATCH 16/25] `litedown` website: better HTML, cross-references (#7601) * Use xml2 to manipulate Rd2HTML output * Use all_info to resolve links between help pages * Scrub links to external help pages --- site/generate_reference.R | 116 +++++++++++++++++++++++--------------- 1 file changed, 71 insertions(+), 45 deletions(-) diff --git a/site/generate_reference.R b/site/generate_reference.R index 8a070a7416..5b90c41fae 100644 --- a/site/generate_reference.R +++ b/site/generate_reference.R @@ -2,6 +2,7 @@ # Generate individual reference pages from .Rd files library(tools) +library(xml2) # Create reference directory ref_dir = "site/reference" @@ -34,57 +35,82 @@ get_rd_info = function(rd_file) { # Generate HTML for each .Rd file cat("Generating individual reference pages...\n") -all_info = list() + +all_info = lapply(setNames(nm = rd_files), get_rd_info) +topic_links = character() +for (topic in all_info) topic_links[topic$aliases] = paste0('reference/', topic$name, '.html') + +html_meta = xfun::yaml_load(readLines('site/_litedown.yml'))$output$html$meta for (rd_file in rd_files) { - info = get_rd_info(rd_file) - all_info[[length(all_info) + 1]] <- info + info = all_info[[rd_file]] out_file = file.path(ref_dir, paste0(info$name, ".html")) temp_html = tempfile(fileext = ".html") - Rd2HTML(rd_file, out = temp_html, package = "data.table") - - html_content = readLines(temp_html, warn = FALSE) - navbar_html = readLines("site/_navbar.html", warn = FALSE) - navbar_html = gsub('href="index.html"', 'href="../index.html"', navbar_html) - navbar_html = gsub('href="news.html"', 'href="../news.html"', navbar_html) - navbar_html = gsub('href="manual.html"', 'href="../manual.html"', navbar_html) - navbar_html = gsub('href="articles/', 'href="../articles/', navbar_html) - navbar_html = gsub('href="assets/', 'href="../assets/', navbar_html) - - wrapped_html = c( - '', - '', - '', - '', - '', - '', - sprintf('%s — %s • data.table', paste(info$aliases, collapse = ", "), info$title), - '', - '', - '', - '', - '', - '', - '', - navbar_html, - '
', - html_content, - '
', - '', - '', - '' - ) - - writeLines(wrapped_html, out_file) + Rd2HTML(rd_file, out = temp_html, package = "data.table", Links = topic_links, Links2 = character()) + html_root = read_html(temp_html) + + if (!is.null(html_meta$lang)) + xml_attr(html_root, 'lang') = html_meta$lang + + html_title = xml_find_first(html_root, '/html/head/title') + xml_text(html_title) <- sprintf('%s — %s • data.table', paste(info$aliases, collapse = ", "), info$title) + + html_head = xml_find_first(html_root, '//head') + + if (!is.null(add_head <- html_meta$header_includes)) { + add_head = xml_find_first(read_html(paste0('', add_head, '')), '//head') + for (tag in xml_children(add_head)) + xml_add_child(html_head, tag) + } + + for (css in html_meta$css2) { + link = xml_add_child(html_head, "link") + xml_set_attrs(link, list( + rel = "stylesheet", + href = css + )) + } + + for (js in html_meta$js2) { + script = xml_add_child(html_head, "script") + xml_set_attr(script, 'src', js) + } + + body = xml_find_first(html_root, '//body') + new_body = xml_add_child(html_root, 'body') + if (!is.null(include <- html_meta$include_before)) { + include = read_html(file.path('site', include)) + include = xml_find_first(include, '//body') + for (node in xml_children(include)) + xml_add_child(new_body, node) + } + + new_body_div = xml_add_child(new_body, 'div') + xml_set_attr(new_body_div, 'class', 'body') + for (node in xml_children(body)) + xml_add_child(new_body_div, node) + + if (!is.null(include <- html_meta$include_after)) { + include = read_html(include) + include = xml_find_first(include, '//body') + for (node in xml_children(include)) + xml_add_child(new_body, node) + } + + xml_remove(body) + + for (link in xml_find_all(html_root, '//a|//link')) { + href = xml_attr(link, 'href') + if (!is.na(href)) + if (startsWith(href, '../../')) # \link[package]{topic} + xml_attr(link, 'href') <- NULL + else if (!grepl('^https?://', href)) + xml_attr(link, 'href') <- paste0('../', href) + } + + write_html(html_root, out_file) unlink(temp_html) cat(sprintf(" Generated %s\n", out_file)) From 53329880def193ba4294c301cab4d66a9b1e0737 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Wed, 21 Jan 2026 11:02:05 +0100 Subject: [PATCH 17/25] adjust CI to test also integration stage --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b13117b153..7968b4b1d1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -357,8 +357,9 @@ integration: image: registry.gitlab.com/rdatatable/dockerfiles/r-litedown tags: - saas-linux-medium-amd64 - only: - - master + rules: + - if: '$CI_COMMIT_REF_NAME == "master"' + - if: '$CI_PIPELINE_SOURCE == "web"' needs: ["mirror-packages","build","test-lin-rel","test-lin-rel-cran","test-lin-dev-gcc-strict-cran","test-lin-dev-clang-cran","test-lin-rel-vanilla","test-lin-ancient-cran","test-lin-dev-clang-san","test-lin-dev-gcc-san","test-win-rel","test-win-dev" ,"test-win-old","test-mac-rel","test-mac-old"] script: - R --version From 6d569e67c93a674891d6d0e5c47561de56eb41d4 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Wed, 21 Jan 2026 13:20:00 +0100 Subject: [PATCH 18/25] fix setup --- site/index.Rmd | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/site/index.Rmd b/site/index.Rmd index e97e6b1d46..04852dda0a 100644 --- a/site/index.Rmd +++ b/site/index.Rmd @@ -2,11 +2,6 @@ title: "data.table" --- -```{r setup, include=FALSE} -pkg_name = litedown:::detect_pkg() -pkg_dir = find.package(pkg_name) -``` - ```{r, results='asis', echo=FALSE} # Read README.md from repository root (one directory up from site/) readme_file = normalizePath(file.path('..', 'README.md'), mustWork = FALSE) @@ -27,5 +22,5 @@ if (file.exists(readme_file)) { ## Citation ```{r, echo=FALSE, results='asis'} -suppressWarnings(litedown::pkg_citation(pkg_name)) +suppressWarnings(litedown::pkg_citation('data.table')) ``` From 70e6afa2eb922727c24e81ba58057a9ff298a0aa Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Wed, 21 Jan 2026 15:07:02 +0100 Subject: [PATCH 19/25] add install to integration --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7968b4b1d1..07ad10ab0b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -364,6 +364,8 @@ integration: script: - R --version - *install-deps ## markdown pkg not present in r-litedown image + ## Install data.table from build artifacts (needed by litedown site generation) + - R CMD INSTALL bus/build/data.table_*.tar.gz ## Copy assets to site directory - mkdir -p ./site/assets/favicon/ - cp .graphics/favicon/* ./site/assets/favicon/ From 165d2000a119f749429331ad250412fe2b8c73f7 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Thu, 22 Jan 2026 13:18:22 +0100 Subject: [PATCH 20/25] add translations render --- .gitlab-ci.yml | 4 +++- site/render_translations.R | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 site/render_translations.R diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 07ad10ab0b..8e94a8de73 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -449,9 +449,11 @@ integration: ## web/checks/check_flavors.html - Rscript -e 'check.flavors(names(test.jobs))' ## Add backwards compatibility redirects - - mkdir -p website/news website/reference website/articles + - mkdir -p website/news website/reference - echo '' > website/news/index.html - echo '' > website/reference/index.html + ## Render translated vignettes + - Rscript site/render_translations.R ## Symlink vignettes from library to articles (pkgdown convention) - ln -s library/data.table/doc website/articles || cp -r bus/integration/cran/library/data.table/doc/* website/articles/ 2>/dev/null || true ## litedown merge diff --git a/site/render_translations.R b/site/render_translations.R new file mode 100644 index 0000000000..c8fb3b09fb --- /dev/null +++ b/site/render_translations.R @@ -0,0 +1,18 @@ +files <- list.files("vignettes", "\\.Rmd$", recursive = TRUE, full.names = TRUE) +translated <- files[dirname(files) != "vignettes"] + +if (length(translated) == 0L) { + cat("No translated vignettes found\n") + quit("no") +} + +cat(sprintf("Found %d translated vignettes\n", length(translated))) + +for (f in translated) { + out <- file.path("website/articles", sub("\\.Rmd$", ".html", sub("^vignettes/", "", f))) + dir.create(dirname(out), recursive = TRUE, showWarnings = FALSE) + cat(sprintf(" Rendering: %s -> %s\n", f, out)) + litedown::fuse(f, output = out) +} + +cat("Done\n") From 550191f3fd6de194ec6618d8cd0b5f51c1a33774 Mon Sep 17 00:00:00 2001 From: Ivan K Date: Fri, 23 Jan 2026 23:00:40 +0300 Subject: [PATCH 21/25] Use explitit file copies for vignettes/articles --- .gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8e94a8de73..3d6fe8dfb8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -449,13 +449,13 @@ integration: ## web/checks/check_flavors.html - Rscript -e 'check.flavors(names(test.jobs))' ## Add backwards compatibility redirects - - mkdir -p website/news website/reference + - mkdir -p website/news website/reference website/articles - echo '' > website/news/index.html - echo '' > website/reference/index.html - ## Render translated vignettes + ## Render translated vignettes into articles/ - Rscript site/render_translations.R - ## Symlink vignettes from library to articles (pkgdown convention) - - ln -s library/data.table/doc website/articles || cp -r bus/integration/cran/library/data.table/doc/* website/articles/ 2>/dev/null || true + ## Copy existing vignettes into articles/ + - cp -r bus/integration/cran/library/data.table/doc/* website/articles/ ## litedown merge - Rscript -e 'common_files<-function(path1, path2) intersect(list.files(path1, all.files=TRUE, no..=TRUE), list.files(path2, all.files=TRUE, no..=TRUE)); msg = if (length(f<-common_files("website","bus/integration/cran"))) paste(c("Following artifacts will be overwritten by litedown artifacts:", paste0(" ", f)), collapse="\n") else "No overlapping files from litedown artifacts"; message(msg); q("no")' - mv website/* bus/integration/cran/ From a4f8d62a7aa497bf18c4caac655433b935b59adf Mon Sep 17 00:00:00 2001 From: Ivan K Date: Sat, 24 Jan 2026 01:02:11 +0300 Subject: [PATCH 22/25] Render translation, then move it to destination This way litedown can detect and embed images into the HTML file. It detects them relative to the output HTML file, not source Rmd file. --- site/render_translations.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/site/render_translations.R b/site/render_translations.R index c8fb3b09fb..f50c219a6e 100644 --- a/site/render_translations.R +++ b/site/render_translations.R @@ -12,7 +12,8 @@ for (f in translated) { out <- file.path("website/articles", sub("\\.Rmd$", ".html", sub("^vignettes/", "", f))) dir.create(dirname(out), recursive = TRUE, showWarnings = FALSE) cat(sprintf(" Rendering: %s -> %s\n", f, out)) - litedown::fuse(f, output = out) + src = litedown::fuse(f) + file.rename(src, out) } cat("Done\n") From 696718d825ce1de049dc57964359910b6030e6ce Mon Sep 17 00:00:00 2001 From: Ivan K Date: Sat, 24 Jan 2026 01:31:40 +0300 Subject: [PATCH 23/25] Adjust file paths for translated vignette --- vignettes/es/datatable-sd-usage.Rmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vignettes/es/datatable-sd-usage.Rmd b/vignettes/es/datatable-sd-usage.Rmd index e5b6b15242..e15fd81ba4 100644 --- a/vignettes/es/datatable-sd-usage.Rmd +++ b/vignettes/es/datatable-sd-usage.Rmd @@ -45,11 +45,11 @@ El uso más simple de `.SD` es para la subagrupación de columnas (es decir, cua Para darle una sensación más realista, en lugar de inventar datos, carguemos algunos conjuntos de datos sobre béisbol desde la [base de datos Lahman](https://github.com/cdalzell/Lahman). En el uso típico de R, simplemente cargaríamos estos conjuntos de datos desde el paquete R `Lahman`; en este ejemplo, los hemos descargado previamente directamente desde la página de GitHub del paquete. ```{r download_lahman} -load('Teams.RData') +load('../Teams.RData') setDT(Teams) Teams -load('Pitching.RData') +load('../Pitching.RData') setDT(Pitching) Pitching ``` From f023fb24c95b40b96adce16b3293ee03305194c8 Mon Sep 17 00:00:00 2001 From: Ivan K Date: Sat, 24 Jan 2026 11:17:44 +0300 Subject: [PATCH 24/25] Vignettes are available under /articles, not /doc --- vignettes/_translation_links.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/_translation_links.R b/vignettes/_translation_links.R index f01f5f72a4..9fbb10c287 100644 --- a/vignettes/_translation_links.R +++ b/vignettes/_translation_links.R @@ -1,7 +1,7 @@ # 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/doc" + url = "https://rdatatable.gitlab.io/data.table/articles" path = dirname(litedown::get_context("input")) if (basename(path) == "vignettes") { lang = "en" From c9b934b7d8f59f32839b74b6b6c216c3fd1a8a88 Mon Sep 17 00:00:00 2001 From: Ivan K Date: Sun, 25 Jan 2026 12:03:46 +0300 Subject: [PATCH 25/25] integration: reuse the r-data.table container Co-Authored-By: Jan Gorecki --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3d6fe8dfb8..3a8a552ae5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -354,7 +354,7 @@ test-mac-old: # generating litedown website integration: stage: integration - image: registry.gitlab.com/rdatatable/dockerfiles/r-litedown + image: registry.gitlab.com/rdatatable/dockerfiles/r-data.table tags: - saas-linux-medium-amd64 rules: