A JavaScript implementation of the Citation Style Language
The Citation Style Language (CSL) is an XML grammar for expressing the detailed requirements of a citation style. A CSL processor is a tool that generates citations and bibliographies by applying style rules described in CSL to bibliographic data.
Development of the citeproc-js processor began in 2009, a fact that shows through in ways both good and bad. On the down side, the code base is not pretty, and could in fact serve as a pretty solid illustration of the burden technical debt, if you need one of those for your computer science class. On the up side, though, citeproc-js passes a suite of 1,400 integration tests with flying colors, it has been very heavily field-tested, 2 and when run in CSL-M mode, 1 it can handle multilingual and legal content with a flexibility and precision unrivaled by any other tool at any price.
More important than the badges of popularity, though, is the underlying CSL standard. Developers can take comfort in the technical strength of the CSL Specification, and the existence of other processors under active development. CSL is the modern way to handle bibliographic projects, and citeproc-js is one way to take advantage of it.
Documentation is available on ReadTheDocs.
hello
CSL-M is set of private extensions to official CSL used by the Jurism reference manager, a variant of Zotero.
In addition to numerous Web deployments, citeproc-js is the citation formatter behind document integration in both Zotero and Mendeley.