Skip to content

Schema Reference

SciFlow’s manuscript schema mirrors the objects emitted by the editor and consumed by downstream exporters (JATS, DOCX, etc.). While a full schema browser is on the roadmap, this page summarizes the most important parts.

  • Source: packages/schema/prosemirror (TypeScript + JSON schema artifacts).
  • Root node: doc with block-level content (sections, paragraphs, figures, tables, citations).
  • Inline marks: emphasis, strong, links, code, citation references.
  • Block nodes: headings (level 1–6), lists, block quotes, figures (with captions), math (inline/block), callouts.

Feature availability in the start bundle

The default @sciflow/editor-start feature set enables citations, formatting, headings, and figures. Tables, math, and other schema nodes become editable only after you register the corresponding features via editor.configureFeatures(...) (see Extending Features).

Generated docs

The CLI can emit JSON schema fragments. Run:

npx nx run @sciflow/schema-prosemirror:build
The output lives under packages/schema/prosemirror/dist/.

Compatibility Notes

  • The schema is designed to round-trip to SciFlow DocumentSnapshots and is compatible with our typesetting pipeline.
  • Aligns with JATS semantics but isn’t a 1:1 copy; e.g., figures carry credit to simplify publishing workflows.
  • When you add new nodes or marks, update both the schema package and the editor features that surface them.

Upcoming Enhancements

  • JSON schema docs rendered directly in MkDocs.
  • A cookbook for mapping schema nodes to export formats.