nyt_url <- function(...) {
## capture dots
dots <- list(...)
## base url: if missing, set to default
if (!"base_url" %in% names(dots)) {
base_url <- "https://www.nytimes.com"
} else {
base_url <- dots$base_url
dots$base_url <- NULL
}
base_url <- sub("/$", "", base_url)
## path: assume first unnamed arg; if missing, set to empty
if ("path" %in% names(dots)) {
path <- dots$path
dots$path <- NULL
} else if (length(dots) > 0 &&
(is.null(names(dots)) || identical(names(dots)[1], ""))) {
path <- dots[1]
dots <- dots[-1]
} else {
path <- ""
}
path <- gsub("^/|/$", "", path)
## build url
if (!identical(path, "")) {
url <- paste0(base_url, "/", path)
} else {
url <- base_url
}
## if query/params sent as list, unlist
if (length(dots) == 1L && is.list(dots[[1]])) {
dots <- dots[[1]]
}
## if params provided, enter params
if (length(dots) > 0L) {
dots <- paste0(names(dots), "=", dots)
dots <- paste(dots, collapse = "&")
url <- paste0(url, "?", dots)
}
## return url
url
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.