• Code blocks, identified by <pre> tags with class sourceCode and r, processed with highlight().

  • Inline code, identified by <code> tags that contain only text (and don't have a header tag (e.g. <h1>) or <a> as an ancestor) are processed processed with autolink().

Use downlit_html_path() to process an .html file on disk; use downlit_html_node() to process an in-memory xml_node as part of a larger pipeline.

downlit_html_path(in_path, out_path, classes = classes_pandoc())

downlit_html_node(x, classes = classes_pandoc())


in_path, out_path

Input and output paths for HTML file


A mapping between token names and CSS class names. Bundled classes_pandoc() and classes_chroma() provide mappings that (roughly) match Pandoc and chroma (used by hugo) classes so you can use existing themes.


An xml2::xml_node


downlit_html_path() invisibly returns output_path; downlit_html_node() modifies x in place and returns nothing.


node <- xml2::read_xml("<p><code>base::t()</code></p>") node
#> {xml_document} #> <p> #> [1] <code>base::t()</code>
# node is modified in place downlit_html_node(node) node
#> {xml_document} #> <p> #> [1] <code>\n <a href="https://rdrr.io/r/base/t.html">base::t()</a>\n</code>