developer tip

전처리 또는 후 처리 roxygen 스 니펫

optionbox 2020. 11. 9. 08:02
반응형

전처리 또는 후 처리 roxygen 스 니펫


가급적이면 roxygen-> rd 변환을 수행하기 전에 roxygen이 보는 주석을 변환 할 수있는 메커니즘이 있습니까?

예를 들어 다음이 있다고 가정합니다.

#' 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.

preprocessroxygen이 문서 생성을 수행하기 전 (또는이 경우 작동 한 후) doclet에서 실행되도록 어떻게 든 roxygen에 공급할 수 있습니까 ?

.r파일 에서 영구적으로 찾기-바꾸기를 원하지 않습니다 . 내 예에서 짐작할 수 있듯이, 저는 roxygen 주석에서 기본적인 마크 다운 지원을 목표로하고 있으므로 .r가독성을 유지하기 위해 파일 을있는 그대로 유지하고 싶습니다 (그리고 \code{..}프로그래밍 방식으로 삽입 ).

내 파일에서 감지 된 모든 roxygen 스타일 주석에서 roxygenise실행되는 내 버전을 preprocess작성하고 임시로 어딘가에 저장 한 다음 실제로 실행해야 roxygenise합니까?


몇 년 후 이것을 다시 살펴보면 Roxygen은 register.preref.parsers자체 파서를 roxygen에 주입하는 데 사용할 수 있는 기능 가지고있는 것 같습니다 . 이러한 용도 중 하나는 유망한 maxygen 패키지 (markdown + roxygen = maxygen)로, roxygen 주석의 마크 다운 처리 (CommonMark 사양에만 해당)의 매우 깔끔한 구현이며 해당 패키지의 macument 에서 어떻게 사용되는지 확인할 수 있습니다. 기능 . 나는 간절히 "pandoc + roxygen = pandoxygen"을 기다린다 ... :)

참고 URL : https://stackoverflow.com/questions/15540321/pre-or-post-process-roxygen-snippets

반응형