Citum: a sort of successor to CSL

I originally created what became CSL somewhere around 2004 to format a book manuscript I was working on, and to try to solve some problems I saw in citation management and formatting.

In 2023, I started experimenting with an alternative approach. Today I published the code packages, and made it much easier to experiment with.

https://citum.org/news/citum-is-on-crates-io-and-jsr-io.html

It's complete and solid enough now that it now needs wider testing, especially from those CSL users that are looking for features it doesn't support (like multilingual, grouped and annotated bibliographies, better archival document support, advanced dates, etc).

Though it's currently still aimed at developers and tech-savvy users at least comfortable with the command line, I hope the documentation is clear enough to communicate to a broader audience, and I would welcome any kind of feedback. I'm particularly weak on understanding multilingual.

More at:

https://citum.org
  • Implementing this is really important for Zotero’s future.

    Citation workflows have become much more complex since CSL was first designed, especially around multilingual sources, now we have to use all sorts of hacks to achieve multilingual support.

    Zotero devs, please… XML had a good run, but it deserves retirement somewhere peaceful alongside fax machines and manually fixing bibliography formatting at 2 a.m.
  • Do you work with multilingual @animusastralis? If yes, it'd be great if you could kick the tires and let me know what works for you, and what doesn't
  • Thank you very much. This is extremely interesting, especially since CSL clearly needs further development.

    However, regarding animusatralis’s comment, I do not think this has anything to do with any supposed obsolescence of XML. In this case, the data model offered by XML is actually more expressive than JSON, particularly when it comes to mixed content.

    If mixed content were properly taken into account, it would be much easier to achieve consistent bibliographic processing within titles, for example.
  • I agree there's not per see any limitations that I can think of in XML; it's rather more about integration of XML in wider software ecosystems, which is rather poor.

    The approach I'm using in Citum is to use Rust's serde to seamlessly support YAML for humans, and JSON and CBOR for tools. So, for example, a developer could write javascript or typescript frontend that communicates with a backend server in JSON, but internally it's the same as when using YAML with the CLI.

    On mixed content, an issue with the CSL ecoystem has been the data layer has never been XML. Hence CSL JSON and such.

    In Citum, I support Djot as a first-class markup language for titles, notes and such. It's maybe not ideal, but probably good enough, and better than what exists in CSL.
Sign In or Register to comment.