goldnead/statamic-bard-footnotes
A Statamic addon that adds footnote support to Bard rich text fields. Editors insert inline references and the addon renders a clean, linked footnotes list on the front end, with sensible defaults and easy customization for both content editors and developers.
Footnotes::number() is now idempotent and numbers across the whole field, so you can number once, split, and render each part through Augmentor::convertToHtml() with numbering and fnref-n (first occurrence only) staying globally consistent. This is the enabling decision for excerpts, teasers, paginated articles, sectioned landing pages, print/PDF, email, and AMP-style outputs from the same field.Consider it when:
fnref-n behavior is the strongest reason to upgrade to 2.1.0.VueRenderer in the same app context, rebuilt correctly on fullscreen enter/exit (where it becomes its own card), and mounted at all only in fields that actually have footnotes.hasFootnotes, nextCitation, isHttpUrl, reusedCount (now aware of wholeSource), and citationHighlightPlugin with setCitationHighlight are pure helpers tested against a real ProseMirror schema — easier to reason about, extend, and regression-test than DOM-driven logic.Look elsewhere, or plan custom work, when:
setCitationHighlight is intentionally excluded from undo history; acceptable, but confirm it matches editor expectations.To executives (one paragraph): This release turns a plain footnote field into a credible sourcing experience without new build spend — editors can see how many sources a piece cites, jump to each citation, and correct a source in one place with every usage updating live. More importantly, it makes the same content safely reusable across excerpts, paginated pages, and print/PDF, because footnote numbering is now consistent across every rendered part instead of restarting at 1. That is reach and trust for existing content rather than a new product line, and it is an additive minor version, not a migration.
To engineering: Additive 2.1.0. Frontend is a ProseMirror plugin view mounted through TipTap's VueRenderer alongside the node view — inherits app context and provides, sits directly after the editor frame and before core's footer toolbar, remounts on fullscreen transitions, and mounts nothing when a field has no footnotes. Pure, schema-tested helpers (hasFootnotes, nextCitation, isHttpUrl, citationHighlightPlugin/setCitationHighlight, reusedCount with wholeSource) make the logic unit-testable. Note the behavioral change to flag in QA: Footnotes::number() is idempotent and numbers the whole field, so any pipeline that renders a field in parts will now produce continuous numbering and a single fnref-n on first occurrence — previously each part restarted at 1. Partly numbered documents get renumbered. Run a visual diff over existing multi-part templates and update the README-linked "Rendering a Bard field in parts" guidance in your docs.
To editors/editorial leads: You get a Sources (N) strip under the field listing each source with its citation count and link-out. Use Go to citation / Next citation to walk the manuscript, and Edit to fix the source text or link once — every place it is used is highlighted as you type, with nothing merged. To remove a footnote, delete it in the text; there is no remove button in the panel. Editing is unavailable in read-only views, so review copies stay untouched. New UI strings are English and German.
How can I help you explore Laravel packages today?