PlumeQuarto {plume} | R Documentation |
Class that pushes author metadata in YAML files or the YAML header of Quarto files.
plume::NameHandler
-> plume::PlumeHandler
-> plume::StatusSetter
-> plume::StatusSetterPlumeQuarto
-> PlumeQuarto
new()
Create a PlumeQuarto
object.
PlumeQuarto$new( data, file, names = NULL, roles = credit_roles(), credit_roles = FALSE, initials_given_name = FALSE, by = NULL )
data
A data frame containing author-related data.
file
A .qmd
, .yml
or .yaml
file to insert author data into.
names
A vector of key-value pairs specifying custom names to use, where keys are default names and values their respective replacements.
roles
A vector of key-value pairs defining roles where keys identify columns and values describe the actual roles to use.
credit_roles
It is now recommended to use roles = credit_roles()
to use the
Contributor Roles Taxonomy.
initials_given_name
Should the initials of given names be used?
by
A character string defining the default variable used to assign
specific metadata to authors in all set_*()
methods. By default, uses
authors' id.
A PlumeQuarto
object.
to_yaml()
Push or update author information in a YAML file or YAML header. The generated YAML complies with Quarto's author and affiliations schemas.
PlumeQuarto$to_yaml()
If missing, to_yaml()
inserts author information into the desired file.
Otherwise, the function replaces old author
and affiliations
values
with the ones provided in the input data.
The input file
invisibly.
clone()
The objects of this class are cloneable with this method.
PlumeQuarto$clone(deep = FALSE)
deep
Whether to make a deep clone.
# Create a simple temporary file with a YAML header
# containing a title
tmp_file <- tempfile(fileext = ".qmd")
readr::write_lines("---\ntitle: Encyclopédie\n---", tmp_file)
# View the temporary file
cat(readr::read_file(tmp_file))
# Create a PlumeQuarto instance using the temporary file
# you've just created
aut <- PlumeQuarto$new(
encyclopedists,
file = tmp_file
)
# And push author data to the YAML header
aut$to_yaml()
cat(readr::read_file(tmp_file))
# Pushing again with new data updates the YAML
# header accordingly
aut <- PlumeQuarto$new(
dplyr::slice(encyclopedists, 2),
file = tmp_file
)
aut$to_yaml()
cat(readr::read_file(tmp_file))
# Clean up the temporary file
unlink(tmp_file)