Repository navigation
Conversation
| # The <!--begin.rcode ... end.rcode--> blocks are unsafe to parse as HTML, as an --> inside R code would terminate the comment. | ||
| env = new.env() | ||
| html_text = readLines(temp_html) | ||
| begin.rcode = which(startsWith(html_text, "<!--begin.rcode")) |
There was a problem hiding this comment.
FWIW I don't see this documented in ?Rd2HTML -- should we add a defensive check here to alert us if some internals change upstream that break our assumption on how to process the result?
The current stopifnot() might suffice... anything more we can assert?
There was a problem hiding this comment.
These "rcode" blocks follow the knitr convention for *.Rhtml documents, see the source of the example R HTML vignette. The documentation is at https://yihui.org/knitr/patterns/, but the patterns themselves live in code:
> knitr::all_patterns$html
$chunk.begin
[1] "^\\s*<!--\\s*begin.rcode\\s*(.*)"
$chunk.end
[1] "^\\s*end.rcode\\s*-->"
$ref.chunk
[1] "^\\s*<<(.+)>>\\s*$"
$inline.code
[1] "<!--\\s*rinline(.+?)-->"
$header.begin
[1] "\\s*<head>"
I can adjust our script to use the exact patterns from knitr.
Any png to share? Or can I preview it somehow? |
|
|
||
| library(tools) | ||
| library(xml2) | ||
| library(data.table) |
There was a problem hiding this comment.
any reason we use library?
we don't use any dt code, Rd2HTML refers to data.table, stopifnot(requireNamespace()) should be enough
There was a problem hiding this comment.
it seems library() is better regardless for simplicity sake, no?

Ask
tools::Rd2HTMLto export the example code in special chunks, parse them and letlitedownprocess them.example(data.table)leaves anew.pdfin the current directory becausefile.remove("new.pdf")is marked in\dontshow{}, which is, indeed, not shown in the HTML page.The tables don't look great. We could add some styles (increase margins around each
<td>?) or disable HTML tables by overridinglitedown:::record_print.data.framefor the duration of the script.Fixes: #7746