Data is passed to a template to render the final document.
render(.x, ...)
# S3 method for class 'character'
render(.x, ..., .config = default_config())
# S3 method for class 'fs_path'
render(.x, ..., .config = default_config())
# S3 method for class 'jinjar_template'
render(.x, ...)The template. Choices:
A template string.
A path to a template file (use fs::path()).
A parsed template (use parse_template()).
<dynamic-dots> Data passed to the template.
By default, a length-1 vector is passed as a scalar variable. Use I() to
declare that a vector should be passed as an array variable. This preserves
a length-1 vector as an array.
The engine configuration. The default matches Jinja defaults,
but you can use jinjar_config() to customize things like syntax delimiters,
whitespace control, and loading auxiliary templates.
String containing rendered template.
parse_template() supports parsing a template once and rendering multiple
times with different data variables.
vignette("template-syntax") describes how to write templates.
# pass data as arguments
render("Hello {{ name }}!", name = "world")
#> [1] "Hello world!"
# pass length-1 vector as array
render("Hello {{ name.0 }}!", name = I("world"))
#> [1] "Hello world!"
# pass data programmatically
params <- list(name = "world")
render("Hello {{ name }}!", !!!params)
#> [1] "Hello world!"
# render template file
if (FALSE) { # \dontrun{
render(fs::path("template.txt"), name = "world")
} # }