Citation.js: a format-independent, modular bibliography tool for the browser and command line

Unaffiliated, Eindhoven, The Netherlands
DOI
10.7287/peerj.preprints.27466v1
Subject Areas
Computer Networks and Communications, Digital Libraries
Keywords
bibliography, javascript
Copyright
© 2019 Willighagen
Licence
This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Preprints) and either DOI or URL of the article must be cited.
Cite this article
Willighagen LG. 2019. Citation.js: a format-independent, modular bibliography tool for the browser and command line. PeerJ Preprints 7:e27466v1

Abstract

Background. Given the vast number of standards and formats for bibliographical data, any program working with bibliographies and citations has to be able to interpret such data. This paper describes the development of Citation.js (https://citation.js.org/), a tool to parse and format according to those standards. The program follows modern guidelines for software in general and JavaScript in specific, such as version control, source code analysis, integration testing and semantic versioning.

Results. The result is an extensible tool that has already seen adaption in a variety of sources and use cases: as part of a server-side page generator of a publishing platform, as part of a local extensible document generator, and as part of an in-browser converter of extracted references. Use cases range from transforming a list of Wikidata identifiers into a BibTeX file on the command line, to displaying RIS references on a webpage with added Altmetric badges to generating "How to cite this" sections on a blog.

Conclusions. Citation.js is a library supporting various formats of bibliographic information in a broad selection of use cases and environments. Given the support for plugins, more formats can be added with relative ease.

Author Comment

This is a submission to PeerJ Computer Science for review.

Supplemental Information

Loading performance statistics in Chrome browser

DOI: 10.7287/peerj.preprints.27466v1/supp-1

Loading performance statistics in Firefox browser

DOI: 10.7287/peerj.preprints.27466v1/supp-2