The function read_toml()
reads TOML data from a file or a character
vector, and the function write_toml()
converts an R object to TOML.
Usage
read_toml(file, x = read_utf8(file), strict = TRUE)
write_toml(x, output = NULL)
toml2yaml(file, output = NULL)
yaml2toml(file, output = NULL)
Arguments
- file
Path to an input (TOML or YAML) file.
- x
For
read_toml()
, the TOML data as a character vector (it is read fromfile
by default; if provided,file
will be ignored). Forwrite_toml()
, an R object to be converted to TOML.- strict
Whether to try RcppTOML and Hugo only (i.e., not to use the naive parser). If
FALSE
, only the naive parser is used (this is not recommended, unless you are sure your TOML data is really simple).- output
Path to an output file. If
NULL
, the TOML data is returned, otherwise the data is written to the specified file.
Value
For read_toml()
, an R object. For write_toml()
,
toml2yaml()
, and yaml2toml()
, a character vector (marked by
xfun::raw_string()
) of the TOML/YAML data if output =
NULL
, otherwise the TOML/YAML data is written to the output file.
Details
For read_toml()
, it first tries to use the R package RcppTOML to
read the TOML data. If RcppTOML is not available, it uses Hugo to
convert the TOML data to YAML, and reads the YAML data via the R package
yaml. If Hugo is not available, it falls back to a naive parser, which
is only able to parse top-level fields in the TOML data, and it only supports
character, logical, and numeric (including integer) scalars.
For write_toml()
, it converts an R object to YAML via the R package
yaml, and uses Hugo to convert the YAML data to TOML.
Examples
if (FALSE) { # \dontrun{
v = blogdown::read_toml(x = c("a = 1", "b = true", "c = \"Hello\"", "d = [1, 2]"))
v
blogdown::write_toml(v)
} # }