Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

All references in one place

This plugin collects page-scoped references (glossary terms, abbreviations, footnotes, figures, and tables) from every page into one de-duplicated, sorted list. Page one and page two each define their own, and the lists below gather them.

Glossary

Word definitions are defined with the {glossary} directive (MyST guide).

:::{collect-glossary}
:::

Directive
A block-level extension point in MyST.
MyST
A flavor of Markdown for technical writing.
Role
An inline-level extension point in MyST.
Transform
A function that modifies the document AST during a build.

Abbreviations

Defined in each page’s abbreviations: frontmatter (MyST guide).

:::{collect-abbreviations}
:::

API
Application Programming Interface
AST
Abstract Syntax Tree
HTML
HyperText Markup Language

Footnotes

Footnotes are defined with [^n] syntax (MyST guide).

:::{collect-footnotes}
:::

  • Which is exactly why aggregating them is useful. (source)

  • It lives on a different page than the first one. (source)

Figures

Figures are defined with the {figure} directive (MyST guide).

Tables

Tables are defined in many different ways (MyST guide).

Citations

MyST’s built-in {bibliography} only lists the current page’s citations, so a references page comes up empty. {collect-citations} re-cites every work used across the project so MyST renders the full list, formatted with its own citation styling.

It has no visible output of its own: the references appear in the References section at the bottom of this page (MyST’s bibliography has no inline renderer yet, see mystmd#2951).

This will be empty! But look below for the references section...
:::{collect-citations}
:::

This will be empty! But look below for the references section...

Knuth (1984)Strunk (1918)

Things that are already aggregated in MyST

Indexes are already a great way to collect references across many pages in MyST. However those are more about listing elements and back-linking to them. This plugin is more about collecting the original definition content, and doing so in a grouped way. For reference, here’s what {show-index} creates for this website:

:::{show-index}
:::

D
Directive: Directive
    M
    MyST: MyST
      R
      Role: Role
        T
        Transform: Transform
          References
          1. Knuth, D. E. (1984). Literate Programming. The Computer Journal.
          2. Strunk, W. (1918). The Elements of Style.