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.
export_template(
template,
filename,
sep = "",
filename.is.string = TRUE,
strip.carriage.returns = TRUE
)
The template string to be written out
The path to write the template to, passed to
writeLines
. Also accepts stdout
(and likely other similar functions) with a warning.
Separator to use between lines written, passed to
writeLines
. Defaults to no separator, as templates are
generally already spaced appropriately.
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.
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.
Returns the input template invisibly.
Note that this function is effectively the inverse of
import_pattern
--
export_template(import_pattern("out.txt"), "out.txt")
should
always result in an unchanged file, and exceptions to this rule would be
considered bugs.
# NOT RUN {
pattern_file <- tempfile("out", tempdir(), ".Rmd")
export_template("my sample pattern", pattern_file)
# }
Run the code above in your browser using DataLab