export_template: Safely export templates to file.

Description Usage Arguments Details Value Examples

View source: R/export_template.R

Description

This is a simple wrapper function around as_utf8 and writeLines, letting users write their template strings to file without having to worry about file encodings. For more details on why UTF-8 encoding is necessary, check out Yihui Xie's post on the subject.

Usage

1
2
3
4
5
6
7
export_template(
  template,
  filename,
  sep = "",
  filename.is.string = TRUE,
  strip.carriage.returns = TRUE
)

Arguments

template

The template string to be written out

filename

The path to write the template to, passed to writeLines. Also accepts stdout (and likely other similar functions) with a warning.

sep

Separator to use between lines written, passed to writeLines. Defaults to no separator, as templates are generally already spaced appropriately.

filename.is.string

A logical value indicating whether or not the filename parameter is expected to be a string (that is, a character vector). Setting the value to FALSE disables the warning when a non-character argument is passed, but this is unsupported functionality.

strip.carriage.returns

A logical value indicating whether or not to strip carriage feed characters, should any exist. This preserves line spacing when writing out files originally written on Windows; otherwise writeLines appears to not recognize lines as ending with a newline and inserts one, resulting in 2x the number of line breaks as anticipated.

Details

Note that this function is effectively the inverse of import_patternexport_template(import_pattern("out.txt"), "out.txt") should always result in an unchanged file, and exceptions to this rule would be considered bugs.

Value

Returns the input template invisibly.

Examples

1
2
pattern_file <- tempfile("out", tempdir(), ".Rmd")
export_template("my sample pattern", pattern_file)

heddlr documentation built on March 24, 2020, 9:07 a.m.