Changelog
phil/footnotes-sidenotesAll notable changes to phil/footnotes-sidenotes will be documented in this file.
Updates should follow the Keep a CHANGELOG principles.
0.1.0-alpha - 2026-11-11
Added
NoteResolver: one walk over a normalized UJO (Universal JSON Output) document that collects the<sup data-footnote>references, in every text of every block however nested, and thefootnoteblocks, and numbers the notes in the order of their first reference;Resolution,NoteandNoteReference.ProblemandProblemKind: a reference without a note, a note never referenced, a duplicate identifier, a reference inside a note, a note referenced several times.NoteOptions,RestartandNumbering: numbering again per document, per chapter or per page marker; decimal, lower and upper roman numerals, sequences of symbols; one numbering per locale or language.Html\NotesRendererandPlacement: the notes at the end of the document, at the end of each section, in the margin or at the foot of the printed page, through the caller'sHtmlRenderer; identifiers under a prefix, safe with several documents on a page; references inside a link written without a link.- Accessible output: a link and backlink pair for each reference, one backlink per reference of a note, a labelled
region with
doc-endnotes,doc-noterefanddoc-backlink, the text of notes through theInlineSanitizerofphil/ujo, on one line whatever its source. NoteLabels: the title and the accessible names in English and French, or from the application.Text\NotesPlainText: references written[1]and notes after the text, for a search index or an accessibility check.Stylesheet, withresources/css/notes.css, margin notes on wide viewports and an inline toggle on narrow ones, without a script, in the PHIL UX classes and tokens, andresources/css/notes-print.css, in CSS GCPM:float: footnote,::footnote-call,::footnote-marker, the@footnotearea;resources/css/notes-print-per-page.css, the footnote counter of the engine;Stylesheet::contents(), the text of a sheet.Exception\FootnotesExceptionandException\InvalidOptions.- The benchmark
NoteResolverBenchand the fuzz targetfootnotes-sidenotes. - The documentation in
doc/, one file per topic, indexed by the README. CONTRIBUTING.md,SECURITY.mdandCODE_OF_CONDUCT.md.