我正在尝试使用R Markdown编写R软件包vignettes。 我正在使用R Studio的软件包作者工具。
我拥有大于版本3.0的R。
我在vignettes
文件夹中有一个.Rmd文件,其中包含以下文本:
<!--
%\VignetteEngine{knitr::knitr}
%\VignetteIndexEntry{An Introduction to the bootcorrelations package}
-->
我在我的
DESCRIPTION
文件中有以下内容:VignetteBuilder: knitr
Suggests: knitr
当我在RStudio中清理和构建或构建和重新加载软件包时,会显示vignette源码,但不显示HTML(即,在
inst/man
中没有HTML文件)。
如何让RStudio自动从R Markdown Vignette创建HTML文件?
我已经阅读了Yihui关于使用Markdown的R包Vignettes,它建议使用makefile,但这篇更近期的关于knitr vignettes的文档表明不再需要makefile。
我也意识到我可以手动使用类似以下命令创建HTML vignette:
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 <a@b.com>
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")
file.copy
将文件复制到Dropbox公共文件夹中 (3) 在GitHub README中使用链接指向Dropbox文件。这对我来说非常有效。PS:之前不知道htmlpreview.github.com,真的很酷。 - Tyler Rinkerservr
,使其能够在浏览器中提供包vignette的服务,如果您想重建vignette,则只需刷新页面即可。我已经在脑海中编写了代码,只需要找些时间将其打出来 :) - Yihui Xie