• zczc
  • ·
  • 1 week ago
  • ·
  • [ - ]
Interesting, but the simpler way is to use plain html with microformats [1], so this:

  @book{kn:gnus,
  AUTHOR = "Donald E. Knudson",
  TITLE = "1966 World Gnus Almanac",
  PUBLISHER = {Permafrost Press},
  ADDRESS = {Novosibirsk} }
becomes this:

  <div class="book" id="kn:gnus">
   <div class="author">Donald E. Knudson</div>
   <div class="title">1966 World Gnus Almanac</div>
   <div class="publisher">Permafrost Press</div>
   <div class="address">Novosibirsk</div>
  </div>
[1] http://microformats.org/wiki/citation-formats#BibTeX
That doesn't do the same thing at all. It doesn't create numbered citations, backlinks, or a bibliography.
OP is pointing out the stupidity of the custom citation syntax that the javascript library uses to create all those features, and highlighting how idiomatic HTML supports the same data markup requirements of the citation with far superior standards and styling support.
  • mbo
  • ·
  • 1 week ago
  • ·
  • [ - ]
Look, not to be defensive but no academic work provides its citations in the Bibtex HTML microformat (they should, but they don't) or even heavyweight structured format like https://schema.org/Text. They provide BibTex syntax at best and DOIs and ISBNs at worst. I'm just meeting the academic standard where it is, and running the {citation format}->HTML conversion on the fly in an ergonomic manner.
For what it's worth, the Typst people are advocating a YAML-based competitor to BibTeX (that can convert to/from BibTeX). That, in JSON instead of YAML, would fit well in a web environment, and still be a "well-known format".

https://github.com/typst/hayagriva

  • mbo
  • ·
  • 1 week ago
  • ·
  • [ - ]
Ah yeah I tried to add support for this a while back! Unfortunately Citation.js doesn't handle it properly - encouraged me to actually file an Issue: https://github.com/citation-js/citation-js/issues/240
The library seems to use BibLatex, which is pretty standard. No reference managers I know understands the above HTML.
> The library seems to use BibLatex, which is pretty standard. No reference managers I know understands the above HTML.

It should be easy to write some once-and-for-all XSLT (or other processor, that's just what I'm used to for XML, but I don't know what's easy to call from JS) to transform well-formed HTML as above to a format that BibLaTeX understands. Since it'd be a one-size-fits-all transformer, anyone who wants to write the HTML can do so.

  • ·
  • 1 week ago
  • ·
  • [ - ]
Impressive, this actually 'feels' like an extension for HTML (rather than some custom styles).