有什么机制可以转换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) {
}
现在,假设我想在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.
我能否以某种方式将
preprocess
馈入roxygen,以便它将在roxygen生成文档之前(或在这种情况下可以工作)在doclet上运行它?我不想在
.r
文件中进行永久查找。您可能会从我的示例中猜到,我的目标是在roxygen注释中提供一些基本的 Markdown 支持,因此希望保持.r
文件的原样以保持可读性(并以编程方式插入\code{..}
东西)。我是否应该编写自己的
roxygenise
版本,以便在文件中所有检测到的roxygen样式注释上运行preprocess
,将其暂时保存在某个位置,然后在这些注释上运行实际的roxygenise
? 最佳答案
几年后重新审视它,看起来Roxygen具有函数register.preref.parsers
,可以用来将自己的解析器注入(inject)roxygen。
这种用途的一种用途是很有前途的maxygen package(markdown + roxygen = maxygen),它是对roxygen注释的markdown处理的非常整洁的实现(尽管仅是CommonMark规范),您可以看到它在该包的macument function中如何使用。我热切地等待“pandoc + roxygen = pandoxygen” ... :)