#' Create codemeta
#'
#' @param pkgs data frame with R packages (default: get_github_packages())
#' @param libpath libpath (default: Sys.getenv("R_LIBS_USER"))
#' @param dbg should debug messages be printed? (default: TRUE)
#' @return codemetar object for R packages
#' @importFrom codemetar create_codemeta
#' @importFrom glue glue
#' @importFrom utils installed.packages
#' @export
create_pkg_codemeta <- function(pkgs = get_github_packages(),
libpath = Sys.getenv("R_LIBS_USER"),
dbg = TRUE) {
kwb.utils::catAndRun("Creating codemeta object",
expr = {
withr::with_libpaths(
new = libpath,
code = {
lapply(
pkgs$name,
function(x) {
if (x %in% utils::installed.packages()[, "Package"]) {
print(glue::glue("Writing codemeta for R package {x}"))
codemetar::create_codemeta(pkg = x)
}
else {
message(sprintf("Package '%s' is not installed in
%s", x, libpath))
}
}
)
}
)
},
dbg = dbg
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.