Skip to content

Spike 4b: CKEditor 5 Footnotes

Status: Pending Lead: Than Grove (built D7 shanti_texts and footnotes) Mode: Individual Date:Branch/commit:

Split from Spike 4 on 2026-07-10 — team-ratified. See that file for the original combined scope and why it was split.

Theory

Existing Texts site CKEditor 4 footnote markup (shanti_footnotes) can be reliably transformed to CKEditor 5's footnote markup format without data loss.

Open dependency (unresolved as of the split)

Depending on the AV transcript format (plain text vs. structured / time-coded / rich markup), this spike and the AV transcript work may turn out to be the same underlying proof ("structured Tibetan rich-text round-trip") — see docs/roadmap.md. That determination is still open and independent of the Unicode/CKEditor split that created this file — it does not need to block starting this spike, but the findings here may end up folded into a merged spike with AV transcript work later.

Demo

To be completed when spike is run.

Findings

To be completed when spike is run.

What this does NOT establish

To be completed when spike is run.

Deferred notes

To be completed when spike is run.


Reference: Pass Criteria

  • Footnote markup format for both CKEditor 4 and 5 is fully documented
  • A deterministic transformation function handles all patterns found in the sample
  • Transformed content renders correctly in CKEditor 5
  • Edge cases are documented and accounted for

Reference: Fail Criteria

Finding Response
CKEditor 4 markup is inconsistent across the corpus Plan a content cleanup pass in D7 before migration
footnotes 4.x uses a fundamentally different storage model Evaluate alternative footnote modules for D11
Complex footnote patterns cannot be transformed deterministically Manual content review required; scope the cleanup effort

Full spike definition: docs/planning/spikes-plan.md