是否有一些机制可以转换roxygen看到的评论,最好是在进行roxygen-> rd转换之前?
例如,假设我有:
#' My function. Does stuff with numbers.
#'
#' This takes an input `x` and does something with it.
#' @param x a number.
myFunction <- function (x) {
}
Run Code Online (Sandbox Code Playgroud)
现在,假设我想在roxygen解析之前对注释进行一些转换,例如用反引号替换所有实例\code{}
.即:
preprocess <- function (txt) {
gsub('`([^ ]+)`', '\\\\code{\\1}', txt)
}
# cat(preprocess('Takes an input `x` and does something with it'.))
# Takes an input \code{x} and does something with it.
Run Code Online (Sandbox Code Playgroud)
我可以preprocess
以某种方式进入roxygen,以便它会在之前(或者在这种情况下工作之后)在doclet上运行它吗?roxygen会生成它的文档吗?
我不想在我的.r
文件中进行永久性的查找替换.正如你可能从我的例子中猜到的那样,我的目标是在我的roxygen评论中提供一些基本的降价支持,因此希望保留我的.r
文件以保持可读性(并以\code{..}
编程方式插入内容).
如果我只是写我自己的版本roxygenise
,运行preprocess
在我的文件上检测到的所有roxygen风格的注释,它们保存暂时某处,然后运行实际的 roxygenise
那些?
几年后重新审视这一点,看起来 Roxygen 有一个功能register.preref.parsers
,可以用来将自己的解析器注入到 roxygen 中。其中一个这样的用途是有前途的maxygen 包(markdown + roxygen = maxygen),它是 roxygen 注释的 markdown 处理的一个非常简洁的实现(尽管仅适用于 CommonMark 规范),您可以看到它是如何在该包的macument中使用的功能。我热切地等待“pandoc + roxygen = pandoxygen”......:)