This function behaves just like brew except for the <%=...%> tags, where Pandoc.brew first translate the R object found between the tags to Pandoc's markdown before passing to the cat function.
Pandoc.brew(
file = stdin(),
output = stdout(),
convert = FALSE,
open = TRUE,
graph.name,
graph.dir,
graph.hi.res = FALSE,
text = NULL,
envir = parent.frame(),
append = FALSE,
...
)file path of the brew template. As this is passed to readLines, file could be an URL too, but not over SSL (for that latter RCurl would be needed).
(optional) file path of the output file
string: format of required output document (besides Pandoc's markdown). Pandoc is called if set via Pandoc.convert and the converted document could be also opened automatically (see below).
try to open converted document with operating system's default program
character string (default to %t when output is set to stdout and paste0(basename(output), '-%n') otherwise) passed to evals. Besides evals's possible tags %i is also available which would be replaced by the chunk number (and optionally an integer which would handle nested brew calls) and %I with the order of the current expression.
character string (default to tempdir() when output is set to stdout and dirname(graph.name) otherwise) passed to evals
render high resolution images of plots? Default is FALSE except for HTML output.
character vector (treated as the content of the file
environment where to brew the template
should append or rather overwrite (default) the output markdown text file? Please note that this option only affects the markdown file and not the optionally created other formats.
additional parameters passed to Pandoc.convert
converted file name with full path if convert is set, none otherwise
This parser tries to be smart in some ways:
a block (R commands between the tags) could return any value at any part of the block and there are no restrictions about the number of returned R objects
plots and images are grabbed in the document, rendered to a png file and pander method would result in a Pandoc's markdown formatted image link (so the image would be shown/included in the exported document). The images are put in plots directory in current getwd() or to the specified output file's directory.
all warnings/messages and errors are recorded in the blocks and returned in the document as a footnote
Please see my Github page for details (https://rapporter.github.io/pander/#brew-to-pandoc) and examples (https://rapporter.github.io/pander/#examples).
Only one of the input parameters (file or text) is to be used at once!
Jeffrey Horner (2011). _brew: Templating Framework for Report Generation._ https://cran.r-project.org/package=brew
John MacFarlane (2012): _Pandoc User's Guide_. https://johnmacfarlane.net/pandoc/README.html
if (FALSE) { # \dontrun{
text <- paste('# Header', '',
'What a lovely list:\n<%=as.list(runif(10))%>',
'A wide table:\n<%=mtcars[1:3, ]%>',
'And a nice chart:\n\n<%=plot(1:10)%>', sep = '\n')
Pandoc.brew(text = text)
Pandoc.brew(text = text, output = tempfile(), convert = 'html')
Pandoc.brew(text = text, output = tempfile(), convert = 'pdf')
## pi is awesome
Pandoc.brew(text='<%for (i in 1:5) {%>\n Pi has a lot (<%=i%>) of power: <%=pi^i%><%}%>')
## package bundled examples
Pandoc.brew(system.file('examples/minimal.brew', package='pander'))
Pandoc.brew(system.file('examples/minimal.brew', package='pander'),
output = tempfile(), convert = 'html')
Pandoc.brew(system.file('examples/short-code-long-report.brew', package='pander'))
Pandoc.brew(system.file('examples/short-code-long-report.brew', package='pander'),
output = tempfile(), convert = 'html')
## brew returning R objects
str(Pandoc.brew(text='Pi equals to <%=pi%>.
And here are some random data:\n<%=runif(10)%>'))
str(Pandoc.brew(text='# Header <%=1%>\nPi is <%=pi%> which is smaller then <%=2%>.
foo\nbar\n <%=3%>\n<%=mtcars[1:2,]%>'))
str(Pandoc.brew(text='<%for (i in 1:5) {%>
Pi has a lot (<%=i%>) of power: <%=pi^i%><%}%>'))
} # }