Sunday, September 28, 2025

10 years of Citation.js

10 years ago, on September 28th, 2015, I pushed the first commit of “C[1]”, which would later form the basis of Citation.js. Back then, it was a simple webapp that took bibliographical data from manual input from a form and converted it to APA. I had not learned about Citation Style Language (CSL) or CSL-JSON yet, so the implementation was not particularly interoperable, but it served its purpose: allowing me and my classmates to format bibliographies without stressing over the correct punctuation.

In April of 2016 I created the larsgw/citation.js repository on GitHub, containing a JavaScript file for browser usage of Citation.js. In September of the same year, I added support for Node.js, including a CLI. Next, in November of 2018 I moved most of the code to a new repository under the new citation-js GitHub organization. Finally, in 2019 I published an article in PeerJ Computer Science (doi:10.7717/peerj-cs.214) on the software and mappings. Since then, development has been relatively stable.

During that time, it has been used in several projects. We have used it in Scholia for importing metadata from DOIs and ISBNs and exporting citations. At the Cuneiform Digital Library Initiative we use it to provide page citations and for importing BibTeX metadata. Additionally, it is used in Forgejo (and Gitea) to implement CITATION.cff support, which can also be seen on Codeberg. It is also used in several blogs and personal websites. If you know of any other cool uses, please let me know!

On to the next 10 years!

Striped fly (Stomorhina lunata) on the stalk of a yellow composite flower, with a diffuse beige background
Stomorhina lunata, 9.vi.2025, Noorbeek, NL

Monday, September 1, 2025

New paper: "Library of Identification Resources: a FAIR overview of taxonomic keys"

Biodiversity research is supported by an ever-increasing volume of citizen science observations, on platforms such as Waarneming.nl/Observation.org and iNaturalist.org. Taxonomic expertise is essential to sustain these platforms, but can be difficult to spread due to the decentralized nature of many citizen science projects. In our new scientific article in Biodiversity Data Journal we describe how and why to record information resources for the taxonomic identification of organisms in a FAIR database, and how to query that data to find applicable resources for an observation.

So I created the Library of Identification Resources (LoIR) which so far contains 2,158 records of such information resources, 54% of which are freely available online. At the moment, most resources are meant for groups of insects in parts of Northwestern Europe, but anyone can help by adding more resources!

See below for caption
Fig. 1: Geographical and taxonomic focus of the resources currently included in the Library of Identification Resources. (A) Choropleth of the geographic scopes of resources in the catalog. 460 publications with a geographic scope that cannot be expressed in administrative borders were omitted. (B) Breakdown of publications by the taxonomic group and continent. Publications spanning multiple continents and/or multiple taxonomic groups are counted for the category “Other”.

A major feature of the LoIR is a special search engine, where someone can enter an observation of an organism, for example a hoverfly in Nijmegen, The Netherlands, and it returns the most applicable resources for that observation. It works by comparing the list of expected species of hoverflies in The Netherlands to the different available resources. Try it out!

As the database and search engine grow, more and more citizen scientists should be able to find the resources needed to continue their extensive work.

The article, written with Eelke Jongejans, can be found here: https://doi.org/10.3897/BDJ.13.e161726