After publishing highlight-author earlier today, I extracted the other half of my bibliography tooling into its own extension: chronobib.
What it does
chronobib takes a flat bibliography and groups entries by publication year, adding section headings. The result on my bibliography page looks like this:
2024
Brown, Sierra, et al. 2024. “PDR: The Planetary Data Reader.” JOSS 9 (102).
Walter, S. H. G., et al. 2024. “Mars Reconnaissance Orbiter Context Camera Updated In-Flight Calibration.” Earth and Space Science 11 (2).
2023
Mc Keown, L. E., et al. 2023. “Martian Araneiforms: A Review.” JGR Planets 128 (4).
2022
Portyankina, Ganna, et al. 2022. “Planet Four: Derived South Polar Martian Winds …” PSJ 3 (2).
Because the year headings are proper document headings (not trapped inside the bibliography div), Quarto automatically generates a table of contents from them:
On this page
- 2024
- 2023
- 2022
- 2021
- 2020
- 2019
- …
- 2001
Instead of scrolling through a wall of references, readers can jump to a specific year in one click.
Installation and usage
quarto add michaelaye/chronobibbibliography: references.bib
citeproc: false
filters:
- michaelaye/chronobib
nocite: |
@*That’s it. Entries are sorted newest-first by default.
Options
chronobib:
heading-level: 3 # H3 instead of default H2
sort: ascending # oldest firstHow it works
Like highlight-author, chronobib needs citeproc: false because Pandoc runs citeproc after all Lua filters. The filter calls pandoc.utils.citeproc() internally (or skips it if another filter already did), then walks the #refs div, reads each entry’s year from the bibliography metadata, groups them, and inserts heading elements between the year groups.
Links
- GitHub: michaelaye/chronobib
- Install:
quarto add michaelaye/chronobib - Companion: michaelaye/highlight-author
- Live example: my bibliography page
- Quarto discussion: Feature: group bibliography entries by year