quarto-index
A Quarto extension for book-quality subject indexing. Mark index entries with a format-neutral span syntax; the extension emits the right thing per output format. Four back-ends ship: LaTeX/PDF, HTML, EPUB and Typst.
This site lives at https://jmgirard.github.io/quarto-index/. It is built from site/ in the source repository and republished by GitHub Actions on every push to the default branch, so the pages here describe the extension as that branch has it.
Install
quarto add jmgirard/quarto-indexThen enable the filter in your document (or _quarto.yml):
---
title: "My book"
filters:
- index
---Requires Quarto 1.5 or later. No other runtime dependencies: on the LaTeX side it uses imakeidx, which ships with mainstream TeX distributions.
Editor support
The extension ships two files an editor reads. _schema.yml is its Quarto Wizard schema: it declares the two classes the filter reads, index and qi-index-here, and every attribute each one carries, with a description apiece. _snippets.json is VS Code-format snippets, one per marking form, with example terms to type over. Editors supporting those formats read them for completion and hover text. Nothing in a render reads either file, so an editor that does not know them changes nothing about what you get.
Where to go next
- Syntax — the supported marking forms, and a page per topic: sub-entry levels, cross-references, special characters, terms outside Latin-1, sort keys, principal mentions, page ranges, placing the index and named indexes.
- What it emits — what each output format gets, and where the back-ends differ.
- Books — one index for a whole Quarto book.
- Examples and Tests — the fixture corpus and the acceptance suite.