Renderer {teal.reporter} | R Documentation |
Renderer
Description
A class for rendering reports from ContentBlock
into various formats using rmarkdown
.
It supports TextBlock
, PictureBlock
, RcodeBlock
, NewpageBlock
, and TableBlock
.
Methods
Public methods
Method new()
Initialize a Renderer
object.
Usage
Renderer$new()
Details
Creates a new instance of Renderer
with a temporary directory for storing report files.
Returns
Object of class Renderer
, invisibly.
Examples
Renderer <- getFromNamespace("Renderer", "teal.reporter") Renderer$new()
Method finalize()
Finalizes a Renderer
object.
Usage
Renderer$finalize()
Method renderRmd()
Getting the Rmd
text which could be easily rendered later.
Usage
Renderer$renderRmd( blocks, yaml_header, global_knitr = getOption("teal.reporter.global_knitr") )
Arguments
blocks
(
list
) ofTextBlock
,PictureBlock
andNewpageBlock
objects.yaml_header
(
character
) anrmarkdown
yaml
header.global_knitr
(
list
) ofknitr
parameters (passed toknitr::opts_chunk$set
) for customizing the rendering process.
Details
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
ifformatR
package is installed,FALSE
otherwise
Returns
Character vector constituting rmarkdown
text (yaml
header + body), ready to be rendered.
Method render()
Renders the Report
to the desired output format by compiling the rmarkdown
file.
Usage
Renderer$render( blocks, yaml_header, global_knitr = getOption("teal.reporter.global_knitr"), ... )
Arguments
blocks
(
list
) ofTextBlock
,PictureBlock
orNewpageBlock
objects.yaml_header
(
character
) anrmarkdown
yaml
header.global_knitr
(
list
) ofknitr
parameters (passed toknitr::opts_chunk$set
) for customizing the rendering process....
rmarkdown::render
arguments,input
andoutput_dir
should not be updated.
Details
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
ifformatR
package is installed,FALSE
otherwise
Returns
character
path to the output.
Method get_output_dir()
Get output_dir
field.
Usage
Renderer$get_output_dir()
Returns
character
a output_dir
field path.
Examples
Renderer <- getFromNamespace("Renderer", "teal.reporter")$new() Renderer$get_output_dir()
Method clone()
The objects of this class are cloneable with this method.
Usage
Renderer$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Examples
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()