get-dois
TypeScript icon, indicating that this package has built-in type declarations

3.2.0 • Public • Published

get-dois

A small module that takes a DOM tree and returns all Digital Object Identifiers (DOIs) located in that tree's metadata.

Unfortunately, academic publishers use a wide variety of metadata "standards". This package normalises between Dublin Core, Highwire Press tags, etc., and the different formatting rules used for DOIs.

To use this library outside of a browser context, you can use a library like jsdom.

This project also includes TypeScript type definitions.

Installation

npm install get-dois --save

Usage

import { getDois } from 'get-dois';

const head = document.getElementsByTagName('head').item(0);
const dois = getDois(head);
//=> [ '10.31222/osf.io/796tu' ]

API

getDois(domTree: Document | Element): string[]

Parameter: domTree

Either window.document or an HTML element whose children might include meta tags containing a DOI.

Returns

An array of DOIs. If no DOIs are found, this will return an empty array. Duplicate DOIs will only be listed once. Note that a page might list multiple DOIs.

Supported meta tags

At the time of writing, get-dois supports detecting DOIs embedded in a webpage as:

  • Highwire Press tags (citation_doi)
  • Eprints tags (eprints.id_number and/or eprints.official_url)
  • bepress tags (bepress_citation_doi)
  • PRISM tags (prism.doi)
  • Dublin Core Schema markup (dc.identifier)

If you encounter a different format that is not yet supported, please file an issue.

Changelog

See CHANGELOG.md.

License

MIT © Vincent Tunru

Package Sidebar

Install

npm i get-dois

Weekly Downloads

4

Version

3.2.0

License

MIT

Unpacked Size

69 kB

Total Files

17

Last publish

Collaborators

  • vincenttunru