Renderer: 'Renderer'

RendererR 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) 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.

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 if formatR 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) 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.

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 if formatR 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()


teal.reporter documentation built on April 3, 2025, 7:39 p.m.