#!/usr/bin/env r
##
## Convert a DOI to it bibtext field
##
## Copyright (C) 2024 Dirk Eddelbuettel
##
## Released under GPL (>= 2)
##
## With thanks to https://bsky.app/profile/rmcelreath.bsky.social/post/3knkqvogwbc25
## load docopt package from CRAN
library(docopt)
if (!requireNamespace("httr", quietly=TRUE))
stop("Please install 'httr' from CRAN.", call. = FALSE)
library(httr)
## configuration for docopt
doc <- "Usage: doi2bib.r [-h] [-x] DOI...
-h --help show this help text
-x --usage show help and short example usage"
opt <- docopt(doc) # docopt parsing
if (opt$usage) {
cat(doc, "\n\n")
cat("Examples:
doi2bib.r 10.1002/evan.10110 10.1007/978-1-4614-6868-4
doi2bib.r is part of littler which brings 'r' to the command-line.
See http://dirk.eddelbuettel.com/code/littler.html for more information.\n")
q("no")
}
for (arg in opt$DOI) {
res <- GET(paste0("https://doi.org/", arg),
add_headers(Accept="application/x-bibtex"))
cat(rawToChar(res$content))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.