Search code examples
rknitrrstudiopandocr-markdown

Automate RStudio processed RMarkdown?


I have an RMarkdown file that I use to generate a nice HTML report. The problem is, I want to be able to automate it so that it can run on a headless server. As such there will be nobody there to start Rstudio and press the 'knithtml' button and it seems that Rstudio is doing a LOT of additional magic like having it's own version of pandoc, running all the necessary commands, applying css styles etc.

How can I take this report and generate the same thing Rstudio is generating when I press the 'knithtml' button, but by just running an R script?

Thanks.


Solution

  • Try using

    rmarkdown::render("/PATH/TO/YOUR.Rmd", output_file="/PATH/TO/YOUR/OUTPUT.html")
    

    instead. This assumes you've got the rmarkdown library loaded on your headless box. It will use the system pandoc, but make sure it's 1.12 or higher.

    Here's what knit2html does (via the "R Markdown" tab near "Console"):

    enter image description here

    Here's a side-by-side. Left is clicking the button, right is running the command:

    enter image description here