Я пытаюсь написать R-виньетки с использованием R Markdown. Я использую инструменты для создания пакетов R Studio.
У меня R больше версии 3.0.
У меня есть файл .Rmd в папке vignettes
, который содержит следующий текст вверху:
<!--
%\VignetteEngine{knitr::knitr}
%\VignetteIndexEntry{An Introduction to the bootcorrelations package}
-->
В моем файле DESCRIPTION
есть следующее:
VignetteBuilder: knitr
Suggests: knitr
Когда я очищаю, строю или создаю и перезагружаю пакет в RStudio, отображается источник виньетки, но не HTML (т.е. нет HTML файла в inst/man
).
Как я могу заставить RStudio автоматически создавать HTML из R Markdown Vignette?
Я прочитал Yihui post на R Package Vignettes с Markdown и предлагает использовать make файл, но это более поздний о виньетках винта предполагает, что make файл больше не требуется.
Я также понимаю, что я мог вручную создать виньетку HTML с помощью следующей команды:
library(knitr)
knit(input='vignettes/foo.Rmd', output='inst/doc/foo.md')
library(markdown)
markdownToHTML('inst/doc/foo.md', 'inst/doc/foo.html')
Воспроизводимый пример:
Vectorize(dir.create)(c("test", "test/R", "test/man", "test/vignettes"))
cat(
'Package: test
Title: Test pkg
Description: Investigate how to auto-compile markdown vignettes
Version: 0.0-1
Date: 2015-03-15
Author: Jeromy Anglim
Maintainer: Jeromy Anglim <[email protected]>
Suggests: knitr
License: Unlimited
VignetteBuilder: knitr',
file = "test/DESCRIPTION"
)
cat(
'---
title: "Introduction"
author: "Jeromy Anglim"
date: "`r Sys.Date()`"
output: html_document
---
<!--
%\\VignetteEngine{knitr::rmarkdown}
%\\VignetteIndexEntry{Introduction}
-->
# Introduction
A sample vignette!
```{r}
1 + 1
```',
file = "test/vignettes/intro.Rmd"
)
cat(
"#' Nothing
#' This function is only needed so that roxygen generates a NAMESPACE file.
#' @export
nothing <- function() 0",
file = "test/R/nothing.R"
)
library(roxygen2)
library(devtools)
roxygenise("test")
build("test")