Plugin for DOI input for Citation.js.
npm install @citation-js/plugin-doi
Register by importing the package:
require('@citation-js/plugin-doi')
The plugin fetches data from DOIs using DOI Content Negotiation, which means the Crossref, DataCite, and mEDRA APIs are indirectly used.
Crossref strongly encourages
adding a mailto:
link to the User-Agent
header or URL parameters
to get higher rate limits. Because the Crossref API is only used indirectly,
the URL parameter method cannot be used consistently. Additionally, the User-Agent
header cannot be set in the browser. For non-browser usage however,
the user agent can be set like this:
const { util, version } = require('@citation-js/core')
util.setUserAgent(`Example Foo (mailto:foo@example.org) Citation.js/${version} Node.js/${process.versions.node}`)
Formats and other features added by this plugin.
Supports DOIs inputted in the following ways:
-
@doi/api
: adoi.org
URL -
@doi/id
: a single DOI -
@doi/list+text
: whitespace-separated list of DOIs -
@doi/list+object
: array of DOIs
Additionally, the following internal type is exposed:
-
@doi/type
: fix thetype
value in certain API responses