Renderer | R Documentation |
Renderer
A class for rendering reports from ContentBlock
into various formats using rmarkdown
.
It supports TextBlock
, PictureBlock
, RcodeBlock
, NewpageBlock
, and TableBlock
.
new()
Initialize a Renderer
object.
Renderer$new()
Creates a new instance of Renderer
with a temporary directory for storing report files.
Object of class Renderer
, invisibly.
Renderer <- getFromNamespace("Renderer", "teal.reporter") Renderer$new()
finalize()
Finalizes a Renderer
object.
Renderer$finalize()
renderRmd()
Getting the Rmd
text which could be easily rendered later.
Renderer$renderRmd( blocks, yaml_header, global_knitr = getOption("teal.reporter.global_knitr") )
blocks
(list
) of TextBlock
, PictureBlock
and NewpageBlock
objects.
yaml_header
(character
) an rmarkdown
yaml
header.
global_knitr
(list
) of knitr
parameters (passed to knitr::opts_chunk$set
)
for customizing the rendering process.
To access the default values for the global_knitr
parameter,
use getOption('teal.reporter.global_knitr')
. These defaults include:
echo = TRUE
tidy.opts = list(width.cutoff = 60)
tidy = TRUE
if formatR
package is installed, FALSE
otherwise
Character vector constituting rmarkdown
text (yaml
header + body), ready to be rendered.
render()
Renders the Report
to the desired output format by compiling the rmarkdown
file.
Renderer$render( blocks, yaml_header, global_knitr = getOption("teal.reporter.global_knitr"), ... )
blocks
(list
) of TextBlock
, PictureBlock
or NewpageBlock
objects.
yaml_header
(character
) an rmarkdown
yaml
header.
global_knitr
(list
) of knitr
parameters (passed to knitr::opts_chunk$set
)
for customizing the rendering process.
...
rmarkdown::render
arguments, input
and output_dir
should not be updated.
To access the default values for the global_knitr
parameter,
use getOption('teal.reporter.global_knitr')
. These defaults include:
echo = TRUE
tidy.opts = list(width.cutoff = 60)
tidy = TRUE
if formatR
package is installed, FALSE
otherwise
character
path to the output.
get_output_dir()
Get output_dir
field.
Renderer$get_output_dir()
character
a output_dir
field path.
Renderer <- getFromNamespace("Renderer", "teal.reporter")$new() Renderer$get_output_dir()
clone()
The objects of this class are cloneable with this method.
Renderer$clone(deep = FALSE)
deep
Whether to make a deep clone.
library(yaml)
library(rtables)
library(ggplot2)
ReportCard <- getFromNamespace("ReportCard", "teal.reporter")
Reporter <- getFromNamespace("Reporter", "teal.reporter")
yaml_quoted <- getFromNamespace("yaml_quoted", "teal.reporter")
md_header <- getFromNamespace("md_header", "teal.reporter")
Renderer <- getFromNamespace("Renderer", "teal.reporter")
card1 <- ReportCard$new()
card1$append_text("Header 2 text", "header2")
card1$append_text("A paragraph of default text")
card1$append_plot(
ggplot(iris, aes(x = Petal.Length)) + geom_histogram()
)
card2 <- ReportCard$new()
card2$append_text("Header 2 text", "header2")
card2$append_text("A paragraph of default text")
lyt <- analyze(split_rows_by(basic_table(), "Day"), "Ozone", afun = mean)
table_res2 <- build_table(lyt, airquality)
card2$append_table(table_res2)
card2$append_rcode("2+2", echo = FALSE)
reporter <- Reporter$new()
reporter$append_cards(list(card1, card2))
yaml_l <- list(
author = yaml_quoted("NEST"),
title = yaml_quoted("Report"),
date = yaml_quoted("07/04/2019"),
output = list(html_document = list(toc = FALSE))
)
yaml_header <- md_header(as.yaml(yaml_l))
result_path <- Renderer$new()$renderRmd(reporter$get_blocks(), yaml_header)
library(yaml)
library(ggplot2)
ReportCard <- getFromNamespace("ReportCard", "teal.reporter")
Reporter <- getFromNamespace("Reporter", "teal.reporter")
yaml_quoted <- getFromNamespace("yaml_quoted", "teal.reporter")
md_header <- getFromNamespace("md_header", "teal.reporter")
Renderer <- getFromNamespace("Renderer", "teal.reporter")
card1 <- ReportCard$new()
card1$append_text("Header 2 text", "header2")
card1$append_text("A paragraph of default text")
card1$append_plot(
ggplot(iris, aes(x = Petal.Length)) + geom_histogram()
)
card2 <- ReportCard$new()
card2$append_text("Header 2 text", "header2")
card2$append_text("A paragraph of default text")
lyt <- analyze(split_rows_by(basic_table(), "Day"), "Ozone", afun = mean)
table_res2 <- build_table(lyt, airquality)
card2$append_table(table_res2)
card2$append_rcode("2+2", echo = FALSE)
reporter <- Reporter$new()
reporter$append_cards(list(card1, card2))
yaml_l <- list(
author = yaml_quoted("NEST"),
title = yaml_quoted("Report"),
date = yaml_quoted("07/04/2019"),
output = list(html_document = list(toc = FALSE))
)
yaml_header <- md_header(as.yaml(yaml_l))
result_path <- Renderer$new()$render(reporter$get_blocks(), yaml_header)
## ------------------------------------------------
## Method `Renderer$new`
## ------------------------------------------------
Renderer <- getFromNamespace("Renderer", "teal.reporter")
Renderer$new()
## ------------------------------------------------
## Method `Renderer$get_output_dir`
## ------------------------------------------------
Renderer <- getFromNamespace("Renderer", "teal.reporter")$new()
Renderer$get_output_dir()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.