Skip to content

Replace/Supplement Jodit WYSIWYG with Editor.js #5792

Description

@willgearty

Add Editor.js as an opt-in block-based editing mode for QSD, with content stored as typed blocks instead of HTML. Existing Jodit/HTML mode stays as-is. Goal: drag-and-drop structured blocks (callout, image+caption, two-column, embed) rendered through ESP templates.

Why

QSD's editing UX is in a good place after recent work (Jodit, history viewer with restore, inline image upload, media library in flight). The remaining gap is structured content: anything beyond prose+image currently has to be hand-authored HTML, which causes design drift, makes content opaque to programmatic changes, and raises the floor for chapter admins.

Migration

  • format defaults to "html". Existing QSDs untouched.
  • Admins opt in per entry. HTML mode is supported indefinitely as a peer mode, not deprecated.
  • "Convert to blocks" action wraps existing HTML in a single raw_html block as a starting point.

Alternatives considered

Wagtail (too heavy, routing conflicts), GrapesJS (outputs HTML not structured data, commercial pivot), BlockNote/Plate (React dependency), Tiptap (text- not block-oriented). Editor.js is the lightest option that actually delivers structured content.

(Claude helped draft this and I edited it way down)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions