
Protect fences of Pandoc fences divs for further processing
Source:R/attr-nodes.R
protect_fences.Rd
Protect fences of Pandoc fences divs for further processing
Usage
protect_fences(body, ns = md_ns())
Arguments
- body
an XML object
- ns
an XML namespace object (defaults:
md_ns()
).
Details
Commonmark will render text such as ::: footer
as normal text which might be problematic if trying to extract
real text from the XML.
If sending the XML to, say, a translation API that allows some tags
to be ignored, you could first transform the text tags with the
attribute fences
to fences
tags, and then transform them back
to text tags before using to_md()
.
Note
this function is also a method in the yarn object.
Examples
m <- tinkr::to_xml(system.file("extdata", "fenced-divs.md", package = "tinkr"))
xml2::xml_child(m$body)
#> {xml_node}
#> <paragraph>
#> [1] <text xml:space="preserve">::::: {#special .sidebar}</text>
#> [2] <softbreak/>
#> [3] <text xml:space="preserve">Here is a paragraph.</text>
m$body <- protect_fences(m$body)
xml2::xml_child(m$body)
#> {xml_node}
#> <paragraph>
#> [1] <text xml:space="preserve" fence="true">::::: {#special .sidebar}</text>
#> [2] <softbreak/>
#> [3] <text xml:space="preserve">Here is a paragraph.</text>