Nothing
## ----message=FALSE------------------------------------------------------------
# Load core libraries; install these packages if you have not already
library(ridigbio)
library(tidyverse)
# Load library for making nice HTML output
library(kableExtra)
## ----echo = FALSE-------------------------------------------------------------
verify_records <- FALSE
#Test that examples will run
tryCatch({
# Your code that might throw an error
verify_records <- records <- idig_search_media(rq = list(genus = "acer", country = "united states"),
fields = c("uuid",
"accessuri",
"rights",
"format",
"records"),
limit = 10)
}, error = function(e) {
# Code to run if an error occurs
cat("An error occurred during the idig_search_records call: ", e$message, "\n")
cat("Vignettes will not be fully generated. Please try again after resolving the issue.")
# Optionally, you can return NULL or an empty dataframe
verify_records <- FALSE
})
## ----eval=verify_records------------------------------------------------------
# Edit the fields (e.g. `genus`) and values (e.g. "manis") in `list()`
# to adjust your query and the fields (e.g. `uuid`) in `fields` to adjust the
# columns returned in your results; edit the number after `limit` to adjust the
# number of records you will retrieve images for
records <- idig_search_media(rq =
list(genus = "acer",
country = "united states"),
fields = c("uuid",
"accessuri",
"rights",
"format",
"records"),
limit = 10)
records$accessuri <- if_else(grepl("^http://", records$accessuri),
gsub("^http://", "", records$accessuri),
records$accessuri
)
records$accessuri <- if_else(grepl("https://mam.ansp.org", records$accessuri),
gsub("https://mam.ansp.org", "mam.ansp.org", records$accessuri),
records$accessuri
)
records$accessuri <- if_else(grepl("https://ibss-images.calacademy.org", records$accessuri),
gsub("https://ibss-images.calacademy.org", "ibss-images.calacademy.org", records$accessuri),
records$accessuri
)
## ----eval=verify_records, echo = FALSE, results = 'asis'----------------------
knitr::kable(records) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
scroll_box(width = "100%")
## ----eval=verify_records------------------------------------------------------
# Assemble a vector of iDigBio server download URLs from `records`
mediaurl_idigbio <- records %>%
mutate(mediaURL = paste("https://api.idigbio.org/v2/media/", uuid, sep = "")) %>%
select(mediaURL) %>%
pull()
# Assemble a vector of external server download URLs from `records`
mediaurl_external <- records$accessuri %>%
str_replace("\\?size=fullsize", "")
## ----eval=verify_records------------------------------------------------------
mediaurl_idigbio
## ----eval=verify_records------------------------------------------------------
mediaurl_external
## ----eval=FALSE, include=TRUE-------------------------------------------------
# # Create new directories to save media files in
# dir.create("jpgs_idigbio")
# dir.create("jpgs_external")
#
# # Assemble another vector of file paths to use when saving media downloaded
# # from iDigBio
# mediapath_idigbio <- paste("jpgs_idigbio/", records$uuid, ".jpg", sep = "")
#
# # Assemble another vector of file paths to use when saving media downloaded
# # from external servers; please note that it's probably not a great idea to
# # assume these files are all jpgs, as we're doing here...
# mediapath_external <- paste("jpgs_external/", records$uuid, ".jpg", sep = "")
#
# # Add a check to deal with URLs that are broken links
# possibly_download.file = purrr::possibly(download.file,
# otherwise = "cannot download")
#
# #"mode" argument (="wb") in the walk function to download.file.
#
# # Iterate through the action of downloading whatever file is at each
# # iDigBio URL
# purrr::walk2(.x = mediaurl_idigbio,
# .y = mediapath_idigbio, possibly_download.file)
#
# # Iterate through the action of downloading whatever file is at each
# # external URL
# purrr::walk2(.x = mediaurl_external,
# .y = mediapath_external, possibly_download.file)
## ----eval=verify_records, echo = FALSE, results = 'asis'----------------------
exampleimgpath <- paste("jpgs_idigbio/",records$uuid[1],".jpg", sep = "")
image_markdown <- "No image available."
if(file.exists(exampleimgpath))
{
image_markdown <- paste0("![Herbarium specimen of an _Acer_ species collected in the United States](", exampleimgpath, ")")
}
image_markdown
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.