How to test:
Download and unpack the artefacts from the latest pages job (e.g.), then run:
library(xml2)
list.files('public', full.names=TRUE, recursive=TRUE, pattern = '\\.html$', ignore.case=TRUE) |>
setNames(nm = _) |> lapply(read_html) |> lapply(\(x) c(
x |> xml_find_all('//img|//script') |> vapply(xml_attr, '', 'src'),
x |> xml_find_all('//a') |> vapply(xml_attr, '', 'href')
)) |> (\(L) Map(\(links, path)
links[
!is.na(links) &
!startsWith(links, 'mailto:') &
!startsWith(links, 'data:') &
!startsWith(links, 'https:') &
!startsWith(links, 'http:') &
!file.exists(file.path(dirname(path), sub('#.*', '', links)))
],
L, names(L)))() -> missing
Details
$`public/articles/index.html`
[1] "/doc/html/Rlogo.svg"
[2] "/doc/html/up.jpg"
[3] "/doc/html/index.html"
[4] "../../../library/data.table/doc/datatable-benchmarking.html"
[5] "../../../library/data.table/doc/datatable-benchmarking.html"
[6] "../../../library/data.table/doc/datatable-benchmarking.Rmd"
[7] "../../../library/data.table/doc/datatable-benchmarking.R"
[8] "../../../library/data.table/doc/datatable-faq.html"
[9] "../../../library/data.table/doc/datatable-faq.html"
[10] "../../../library/data.table/doc/datatable-faq.Rmd"
[11] "../../../library/data.table/doc/datatable-faq.R"
[12] "../../../library/data.table/doc/datatable-fread-and-fwrite.html"
[13] "../../../library/data.table/doc/datatable-fread-and-fwrite.html"
[14] "../../../library/data.table/doc/datatable-fread-and-fwrite.Rmd"
[15] "../../../library/data.table/doc/datatable-fread-and-fwrite.R"
[16] "../../../library/data.table/doc/datatable-importing.html"
[17] "../../../library/data.table/doc/datatable-importing.html"
[18] "../../../library/data.table/doc/datatable-importing.Rmd"
[19] "../../../library/data.table/doc/datatable-importing.R"
[20] "../../../library/data.table/doc/datatable-intro.html"
[21] "../../../library/data.table/doc/datatable-intro.html"
[22] "../../../library/data.table/doc/datatable-intro.Rmd"
[23] "../../../library/data.table/doc/datatable-intro.R"
[24] "../../../library/data.table/doc/datatable-joins.html"
[25] "../../../library/data.table/doc/datatable-joins.html"
[26] "../../../library/data.table/doc/datatable-joins.Rmd"
[27] "../../../library/data.table/doc/datatable-joins.R"
[28] "../../../library/data.table/doc/datatable-keys-fast-subset.html"
[29] "../../../library/data.table/doc/datatable-keys-fast-subset.html"
[30] "../../../library/data.table/doc/datatable-keys-fast-subset.Rmd"
[31] "../../../library/data.table/doc/datatable-keys-fast-subset.R"
[32] "../../../library/data.table/doc/datatable-programming.html"
[33] "../../../library/data.table/doc/datatable-programming.html"
[34] "../../../library/data.table/doc/datatable-programming.Rmd"
[35] "../../../library/data.table/doc/datatable-programming.R"
[36] "../../../library/data.table/doc/datatable-reference-semantics.html"
[37] "../../../library/data.table/doc/datatable-reference-semantics.html"
[38] "../../../library/data.table/doc/datatable-reference-semantics.Rmd"
[39] "../../../library/data.table/doc/datatable-reference-semantics.R"
[40] "../../../library/data.table/doc/datatable-reshape.html"
[41] "../../../library/data.table/doc/datatable-reshape.html"
[42] "../../../library/data.table/doc/datatable-reshape.Rmd"
[43] "../../../library/data.table/doc/datatable-reshape.R"
[44] "../../../library/data.table/doc/datatable-sd-usage.html"
[45] "../../../library/data.table/doc/datatable-sd-usage.html"
[46] "../../../library/data.table/doc/datatable-sd-usage.Rmd"
[47] "../../../library/data.table/doc/datatable-sd-usage.R"
[48] "../../../library/data.table/doc/datatable-secondary-indices-and-auto-indexing.html"
[49] "../../../library/data.table/doc/datatable-secondary-indices-and-auto-indexing.html"
[50] "../../../library/data.table/doc/datatable-secondary-indices-and-auto-indexing.Rmd"
[51] "../../../library/data.table/doc/datatable-secondary-indices-and-auto-indexing.R"
$`public/doc/html/index.html`
[1] "../manual/R-intro.html" "../manual/R-lang.html" "../manual/R-exts.html"
[4] "../manual/R-admin.html" "../manual/R-data.html" "../manual/R-ints.html"
[7] "../manual/R-FAQ.html" "UserManuals.html"
$`public/doc/html/NEWS.2.html`
[1] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[3] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[5] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[7] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[9] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[11] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[13] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[15] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[17] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[19] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
$`public/doc/html/NEWS.3.html`
[1] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[3] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[5] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[7] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[9] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[11] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[13] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[15] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[17] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[19] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[21] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[23] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[25] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[27] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[29] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[31] "../help/figures/../../html/Rlogo.svg" "../NEWS"
[33] "../NEWS.0" "../NEWS.1"
[35] "../NEWS.2"
$`public/doc/html/NEWS.html`
[1] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[3] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[5] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[7] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[9] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[11] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[13] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[15] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[17] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[19] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[21] "../help/figures/../../html/Rlogo.svg" "../help/figures/../../html/Rlogo.svg"
[23] "../help/figures/../../html/Rlogo.svg" "../NEWS.0"
[25] "../NEWS.1" "../NEWS.2"
[27] "../NEWS.3"
$`public/doc/html/SearchOn.html`
[1] "/doc/html/hsearch_db_concepts.html" "/doc/html/hsearch_db_keywords.html"
[3] "Search?category=attribute" "Search?category=chron"
[5] "Search?category=classes" "Search?category=NA"
[7] "Search?category=category" "Search?category=character"
[9] "Search?category=complex" "Search?category=data"
[11] "Search?category=datasets" "Search?category=list"
[13] "Search?category=manip" "Search?category=package"
[15] "Search?category=sysdata" "Search?category=aplot"
[17] "Search?category=color" "Search?category=device"
[19] "Search?category=dplot" "Search?category=dynamic"
[21] "Search?category=hplot" "Search?category=iplot"
[23] "Search?category=classif" "Search?category=neural"
[25] "Search?category=spatial" "Search?category=arith"
[27] "Search?category=array" "Search?category=algebra"
[29] "Search?category=graphs" "Search?category=logic"
[31] "Search?category=math" "Search?category=optimize"
[33] "Search?category=symbolmath" "Search?category=IO"
[35] "Search?category=connection" "Search?category=database"
[37] "Search?category=file" "Search?category=debugging"
[39] "Search?category=documentation" "Search?category=environment"
[41] "Search?category=error" "Search?category=internal"
[43] "Search?category=iteration" "Search?category=methods"
[45] "Search?category=misc" "Search?category=print"
[47] "Search?category=programming" "Search?category=interface"
[49] "Search?category=utilities" "Search?category=cluster"
[51] "Search?category=datagen" "Search?category=design"
[53] "Search?category=distribution" "Search?category=htest"
[55] "Search?category=models" "Search?category=regression"
[57] "Search?category=nonlinear" "Search?category=multivariate"
[59] "Search?category=nonparametric" "Search?category=robust"
[61] "Search?category=smooth" "Search?category=loess"
[63] "Search?category=survey" "Search?category=survival"
[65] "Search?category=tree" "Search?category=ts"
[67] "Search?category=univar"
$`public/GOVERNANCE.html`
[1] ".github/CODE_OF_CONDUCT.md"
$`public/library/data.table/doc/index.html`
[1] "/doc/html/Rlogo.svg" "/doc/html/up.jpg" "/doc/html/index.html"
$`public/library/data.table/html/all.equal.data.table.html`
[1] "../../bit64/help/bit64-package.html" "../../base/help/all.equal.html"
[3] "../../base/help/all.equal.html" "../../base/help/all.equal.html"
$`public/library/data.table/html/as.matrix.html`
[1] "../../base/html/vector.html" "../../base/html/format.html"
[3] "../../base/html/data.matrix.html" "../../base/html/array.html"
$`public/library/data.table/html/chmatch.html`
[1] "../../base/help/charmatch.html" "../../base/help/match.html"
[3] "../../base/html/match.html"
$`public/library/data.table/html/data.table-condition-classes.html`
[1] "../../base/html/conditions.html"
$`public/library/data.table/html/data.table-options.html`
[1] "../../base/help/interactive.html" "../../base/help/options.html"
[3] "../../base/help/getOption.html"
$`public/library/data.table/html/data.table.html`
[1] "../../base/html/data.frame.html" "../../base/html/data.frame.html"
[3] "../../base/html/Extract.data.frame.html" "../../base/html/bquote.html"
[5] "../../base/html/numeric.html" "../../base/html/data.frame.html"
[7] "../../base/html/Extract.data.frame.html"
$`public/library/data.table/html/duplicated.html`
[1] "../../base/help/unique.html"
$`public/library/data.table/html/fctr.html`
[1] "../../base/help/factor.html" "../../base/help/factor.html"
$`public/library/data.table/html/fifelse.html`
[1] "../../base/help/ifelse.html" "../../base/help/ifelse.html"
[3] "../../base/help/ifelse.html"
$`public/library/data.table/html/foverlaps.html`
[1] "../../base/html/mode.html"
$`public/library/data.table/html/frank.html`
[1] "../../base/help/rank.html" "../../base/help/rank.html"
$`public/library/data.table/html/fread.html`
[1] "../../utils/help/read.csv.html" "../../utils/help/read.delim.html"
[3] "../../base/html/DateTimeClasses.html" "../../base/help/path.expand.html"
[5] "../../utils/help/read.table.html" "../../base/html/make.names.html"
[7] "../../yaml/help/yaml.load.html" "../../base/help/tempfile.html"
[9] "../../utils/help/write.table.html" "../../utils/html/download.file.html"
[11] "../../base/html/tempfile.html" "../../base/help/system.html"
[13] "../../utils/help/read.table.html" "../../base/help/connections.html"
[15] "../../base/help/locales.html"
$`public/library/data.table/html/frev.html`
[1] "../../base/help/rev.html" "../../base/help/rev.html"
$`public/library/data.table/html/froll.html`
[1] "../../base/help/mean.html"
$`public/library/data.table/html/frollapply.html`
[1] "../../parallel/help/parallel-package.html"
$`public/library/data.table/html/fwrite.html`
[1] "../../yaml/help/as.yaml.html" "../../base/help/options.html"
[3] "../../utils/help/write.table.html" "../../utils/help/write.table.html"
$`public/library/data.table/html/groupingsets.html`
[1] "../../base/help/substitute.html" "../../base/help/parent.frame.html"
$`public/library/data.table/html/IDateTime.html`
[1] "../../base/html/Round.html" "../../base/html/as.Date.html"
[3] "../../base/html/as.POSIXlt.html" "../../base/html/strptime.html"
[5] "../../base/html/DateTimeClasses.html"
$`public/library/data.table/html/last.html`
[1] "../../base/html/nrow.html" "../../utils/html/head.html"
[3] "../../utils/html/head.html"
$`public/library/data.table/html/like.html`
[1] "../../base/help/grep.html" "../../base/help/grep.html"
$`public/library/data.table/html/merge.html`
[1] "../../base/html/merge.html" "../../base/html/merge.html"
$`public/library/data.table/html/notin.html`
[1] "../../base/html/base-package.html" "../../base/help/match.html"
$`public/library/data.table/html/openmp-utils.html`
[1] "../../base/help/Sys.setenv.html"
$`public/library/data.table/html/patterns.html`
[1] "../../base/help/grep.html" "../../base/html/grep.html"
$`public/library/data.table/html/print.data.table.html`
[1] "../../base/html/strtrim.html" "../../utils/help/getS3method.html"
[3] "../../base/html/print.default.html"
$`public/library/data.table/html/rleid.html`
[1] "../../base/help/rle.html"
$`public/library/data.table/html/setattr.html`
[1] "../../base/help/names+3C-.html" "../../base/help/colnames+3C-.html"
$`public/library/data.table/html/setDT.html`
[1] "../../base/html/data.frame.html"
$`public/library/data.table/html/setkey.html`
[1] "../../base/help/sort.html" "../../base/help/grep.html"
[3] "../../base/help/order.html"
$`public/library/data.table/html/setorder.html`
[1] "../../base/help/order.html"
$`public/library/data.table/html/split.html`
[1] "../../base/help/split.html" "../../base/help/split.html"
$`public/library/data.table/html/subset.data.table.html`
[1] "../../base/help/subset.html"
$`public/library/data.table/html/substitute2.html`
[1] "../../base/help/substitute.html" "../../base/help/I.html"
[3] "../../base/help/I.html" "../../base/help/substitute.html"
[5] "../../base/help/I.html" "../../base/help/substitute.html"
[7] "../../base/help/I.html" "../../base/help/call.html"
[9] "../../base/help/name.html" "../../base/help/eval.html"
$`public/library/data.table/html/tables.html`
[1] "../../base/html/ls.html" "../../base/html/ls.html"
[3] "../../utils/html/object.size.html"
$`public/library/data.table/html/test.data.table.html`
[1] "../../base/html/try.html"
$`public/library/data.table/html/test.html`
[1] "../../base/html/Sys.setenv.html"
$`public/library/data.table/html/transform.data.table.html`
[1] "../../base/help/transform.html" "../../base/help/with.html"
$`public/library/data.table/html/tstrsplit.html`
[1] "../../base/help/strsplit.html" "../../utils/html/type.convert.html"
[3] "../../utils/help/type.convert.html"
$`public/library/data.table/html/update_dev_pkg.html`
[1] "../../utils/help/install.packages.html"
$`public/reference/address.html`
[1] "../00Index.html"
$`public/reference/all.equal.data.table.html`
[1] "../00Index.html"
$`public/reference/as.data.table.html`
[1] "../00Index.html"
$`public/reference/as.data.table.xts.html`
[1] "../00Index.html"
$`public/reference/as.matrix.html`
[1] "../00Index.html"
$`public/reference/as.xts.data.table.html`
[1] "../00Index.html"
$`public/reference/assign.html`
[1] "../../doc/datatable-reference-semantics.html"
[2] "../../doc/datatable-faq.html"
[3] "../../doc/datatable-reference-semantics.html"
[4] "../00Index.html"
$`public/reference/between.html`
[1] "../00Index.html"
$`public/reference/binary_reopener.html`
[1] "../00Index.html"
$`public/reference/cbindlist.html`
[1] "../00Index.html"
$`public/reference/cdt.html`
[1] "../00Index.html"
$`public/reference/chmatch.html`
[1] "../00Index.html"
$`public/reference/coalesce.html`
[1] "../00Index.html"
$`public/reference/copy.html`
[1] "../00Index.html"
$`public/reference/data.table-class.html`
[1] "../00Index.html"
$`public/reference/data.table-condition-classes.html`
[1] "../00Index.html"
$`public/reference/data.table-options.html`
[1] "../00Index.html"
$`public/reference/data.table.html`
[1] "../../doc/datatable-intro.html"
[2] "../../doc/datatable-keys-fast-subset.html"
[3] "../../doc/datatable-secondary-indices-and-auto-indexing.html"
[4] "../../doc/datatable-intro.html"
[5] "../../doc/datatable-faq.html"
[6] "../../doc/datatable-secondary-indices-and-auto-indexing.html"
[7] "../../doc/datatable-programming.html"
[8] "../00Index.html"
$`public/reference/datatable-optimize.html`
[1] "../00Index.html"
$`public/reference/dcast.data.table.html`
[1] "../00Index.html"
$`public/reference/duplicated.html`
[1] "../00Index.html"
$`public/reference/fcase.html`
[1] "../00Index.html"
$`public/reference/fctr.html`
[1] "../00Index.html"
$`public/reference/fdroplevels.html`
[1] "../00Index.html"
$`public/reference/fifelse.html`
[1] "../00Index.html"
$`public/reference/foverlaps.html`
[1] "../00Index.html"
$`public/reference/frank.html`
[1] "../00Index.html"
$`public/reference/fread.html`
[1] "../00Index.html"
$`public/reference/frev.html`
[1] "../00Index.html"
$`public/reference/froll.html`
[1] "../00Index.html"
$`public/reference/frolladapt.html`
[1] "../00Index.html"
$`public/reference/frollapply.html`
[1] "../00Index.html"
$`public/reference/fsort.html`
[1] "../00Index.html"
$`public/reference/fwrite.html`
[1] "../00Index.html"
$`public/reference/groupingsets.html`
[1] "../00Index.html"
$`public/reference/IDateTime.html`
[1] "../00Index.html"
$`public/reference/J.html`
[1] "../00Index.html"
$`public/reference/last.html`
[1] "../00Index.html"
$`public/reference/last.updated.html`
[1] "../00Index.html"
$`public/reference/like.html`
[1] "../00Index.html"
$`public/reference/measure.html`
[1] "../../doc/datatable-reshape.html" "../00Index.html"
$`public/reference/melt.data.table.html`
[1] "../00Index.html"
$`public/reference/merge.html`
[1] "../00Index.html"
$`public/reference/mergelist.html`
[1] "../00Index.html"
$`public/reference/na.omit.data.table.html`
[1] "../00Index.html"
$`public/reference/nafill.html`
[1] "../00Index.html"
$`public/reference/notin.html`
[1] "../../help/chmatch.html" "../00Index.html"
$`public/reference/openmp-utils.html`
[1] "../00Index.html"
$`public/reference/patterns.html`
[1] "../00Index.html"
$`public/reference/print.data.table.html`
[1] "../00Index.html"
$`public/reference/rbindlist.html`
[1] "../00Index.html"
$`public/reference/rleid.html`
[1] "../00Index.html"
$`public/reference/rowid.html`
[1] "../00Index.html"
$`public/reference/rowwiseDT.html`
[1] "../00Index.html"
$`public/reference/selfref.ok.html`
[1] "../00Index.html"
$`public/reference/setattr.html`
[1] "../00Index.html"
$`public/reference/setcolorder.html`
[1] "../00Index.html"
$`public/reference/setDF.html`
[1] "../00Index.html"
$`public/reference/setDT.html`
[1] "../00Index.html"
$`public/reference/setkey.html`
[1] "../../doc/datatable-secondary-indices-and-auto-indexing.html"
[2] "../00Index.html"
$`public/reference/setNumericRounding.html`
[1] "../00Index.html"
$`public/reference/setops.html`
[1] "../00Index.html"
$`public/reference/setorder.html`
[1] "../00Index.html"
$`public/reference/shift.html`
[1] "../00Index.html"
$`public/reference/shouldPrint.html`
[1] "../00Index.html"
$`public/reference/special-symbols.html`
[1] "../00Index.html"
$`public/reference/split.html`
[1] "../00Index.html"
$`public/reference/subset.data.table.html`
[1] "../00Index.html"
$`public/reference/substitute2.html`
[1] "../00Index.html"
$`public/reference/tables.html`
[1] "../00Index.html"
$`public/reference/test.data.table.html`
[1] "../00Index.html"
$`public/reference/test.html`
[1] "../00Index.html"
$`public/reference/timetaken.html`
[1] "../00Index.html"
$`public/reference/transform.data.table.html`
[1] "../00Index.html"
$`public/reference/transpose.html`
[1] "../00Index.html"
$`public/reference/truelength.html`
[1] "../00Index.html"
$`public/reference/tstrsplit.html`
[1] "../00Index.html"
$`public/reference/update_dev_pkg.html`
[1] "../00Index.html"
They can be split into a few classes:
- General:
public/GOVERNANCE.html → .github/CODE_OF_CONDUCT.md
public/reference/notin.html → ../../help/chmatch.html (why this one?)
- Links from
litedown man pages to vignettes
- e.g.
public/reference/assign.html → ../../doc/datatable-reference-semantics.html
- should be solvable with a symlink
- Links from
litedown man pages to 00Index.html, once on every page
- e.g.
public/reference/as.xts.data.table.html → ../00Index.html
- can be removed in bulk
- Links from "classic" help pages into other parts of the library, many of those
- e.g.
public/library/data.table/html/substitute2.html → ../../base/help/substitute.html
- Links from rendered NEWS to parts of the R help system:
- e.g.
public/doc/html/NEWS.html → ../help/figures/../../html/Rlogo.svg, repeats many times
- Links to various parts of the R help system, from pages that are possibly not intended to be visited(?), e.g.,
public/articles/index.html → /doc/html/Rlogo.svg (many broken links from there)
public/doc/html/index.html → ../manual/R-intro.html
public/doc/html/SearchOn.html → /doc/html/hsearch_db_concepts.html
How to test:
Download and unpack the artefacts from the latest
pagesjob (e.g.), then run:Details
They can be split into a few classes:
public/GOVERNANCE.html→.github/CODE_OF_CONDUCT.mdpublic/reference/notin.html→../../help/chmatch.html(why this one?)litedownman pages to vignettespublic/reference/assign.html→../../doc/datatable-reference-semantics.htmllitedownman pages to00Index.html, once on every pagepublic/reference/as.xts.data.table.html→../00Index.htmlpublic/library/data.table/html/substitute2.html→../../base/help/substitute.htmlpublic/doc/html/NEWS.html→../help/figures/../../html/Rlogo.svg, repeats many timespublic/articles/index.html→/doc/html/Rlogo.svg(many broken links from there)public/doc/html/index.html→../manual/R-intro.htmlpublic/doc/html/SearchOn.html→/doc/html/hsearch_db_concepts.html