CITATION
file providing a doi, the
CITATION
doi would be used as the main
CITATION.cff
doi
and the CRAN
doi would be added as an identifier
.doi
.cff_create(dependencies = TRUE)
and the package dependency
is on CRAN, the CRAN doi would be used
for the dependency in the references
key.commit
from RemoteSha
.cran_to_spdx
dataset.cff_write()
to add a new encoding
argument to make it work with different encodings, see
iconv()
.This is a major release with some notable changes. The change mainly
affects to non-core functions, hence the natural
workflow (cff_create()
→ cff_write()
→
cff_validate()
) shouldn’t be affected.
Now cffr implements a new class system for definitions.reference
,
definitions.person
and definitions.entity
objects:
definitions.reference
(e.g,
references)
has class cff_ref_lst, cff
and
individual elements (e.g preferred-citation
or each member
of references
) has class cff_ref, cff
.definitions.person
or
definitions.entity
(e.g. authors
,
contact
) has class cff_pers_lst, cff
and
individual elements (e.g publisher
or each member of
authors
) has class cff_pers, cff
.This change allow to write specific S3 Methods and extend the capabilities of the package.
as_cff()
S3 generic method (replacing
as.cff()
): This method coerces R objects
to cff
class format. Current methods provided are:
as_cff.Bibtex()
.as_cff.bibentry()
, replacing
cff_parse_citation()
.as_cff.person()
, similar to
as_cff_person()
but only for person
objects.
We recommend using as_cff_person()
since it can coerce also
string representing authors in BibTeX markup
("{von Neumen}, James"
), that can’t be captured properly
via methods.as_bibentry()
method for a variety of classes
(character
, list
, NULL
and
classes defined by cffr).as_cff_person()
method.cff
class:
as.data.frame.cff()
.as.person()
, although only for
definitions.person
or definitions.entity
(e.g. authors
, contacts
, editors
,
publisher,
etc.).head.cff()
, tail.cff()
.toBibtex.cff()
.The API has been completely reviewed to provide more clarity on functions naming and to facilitate internal maintenance. This change only affects to non-core functions. Now each function does less things but does it better. The old API has been deprecated and it would warn when used, providing advice on the replacement function.
cff_to_bibtex()
and
cff_extract_to_bibtex()
: replaced by
as_bibentry()
S3 generic.cff_parse_person()
and
cff_parse_person_bibtex()
: replaced by
as_cff_person()
S3 generic.cff_parse_citation()
: replaced by as_cff()
S3 generic.cff_from_bibtex()
: replaced by
cff_read_bib()
(for *.bib
files) and
cff_read_bib_text()
(for character strings).write_bib()
and write_citation()
:
replaced by cff_write_bib()
and
cff_write_citation()
respectively.path
in cff()
is also deprecated,
use cff_read()
instead.cff_read()
(that is designed to fit all supported file
types on a single entry point) and the new specific readers (that are
used under the hood by cff_read()
), namely:
cff_read_cff_citation()
,cff_read_description()
,cff_read_citation()
cff_read_bib()
.cff_modify()
function for updating and modifying
cff
objects easily.vignette("bibtex_cff", package = "cffr")
) and consequently
changes in the mapping performed by as_bibtex()
cff_parse_citation()
:
cff_to_bibtex()
and
cff_extract_to_bibtex()
have been merged, the latter
(cff_extract_to_bibtex()
) is now soft-deprecated.write_citation()
that can generate a
inst/CITATION file from a cff
object (#51).Additional authors of a R package can be now
included based on the role on the DESCRIPTION
file, via the
parameter authors_roles
(#49).
New message interface based on cli capabilities.
Now the (invisible) result of cff_validate()
includes the summary of errors (if any) as an attributes()
named "error"
, as
jsonvalidate::json_validate()
does when
verbose = TRUE
:
Be verbose? If
TRUE
, then an attribute"errors"
will list validation failures as a data.frame
Improvements in the extraction of
`date-release`
.
cff_validate()
.cff_from_bibtex()
.preferred-citation
is only produced when a
CITATION
R file has been provided with the
package (#37).cff_read()
function. This functionality was already
implemented on cff()
but new function added in order to
provide clarity.master
or
main
branch.references
field, using citation(auto = TRUE)
.
dependencies
parameter on cff_create()
and cff_write()
.cff_parse_citation():
cff_parse_citation()
extracts more information of
authors, based on the fields provided on the DESCRIPTION
file.cff_parse_citation()
does a better job extracting
information from bibentry()
/BibTeX and mapping it to
preferred-citation/references
fields of CFF.cff_git_hook_install()
cff_git_hook_remove()
cff_extract_to_bibtex()
cff_to_bibtex()
cff_parse_person_bibtex()
write_bib()
lifecycle
.pages
on cff_parse_citation()
.gh_keywords
parameter on cff_create()
/cff_write()
. If TRUE
, it would include GitHub
repo topics as keywords.keys
parameter.cran_to_spdx
.citation().
preferred-citation
key from
DESCRIPTION
.cff_schema_definitions_reference()
to
cff_schema_definitions_refs()
.repository
key is supported.vignette("crosswalk", package = "cffr")
.cff_gha_update()
.