Quick start
import { Diagrams } from '@tiptap-pro/extension-diagrams'
import { d3Renderer } from '@tiptap-pro/extension-diagrams/d3'
import { echartsRenderer } from '@tiptap-pro/extension-diagrams/echarts'
Diagrams.configure({
renderers: [echartsRenderer(), d3Renderer()],
defaultRenderer: 'echarts',
})- The extension bundles no chart library.
- Every library is a peer dependency or a script you serve, used under its own license.
- A library not listed here can draw through a Renderer of your own.
Which Renderer to use
Register one or more chart Renderers, and one Diagram Renderer per diagram format.
| Renderer | Draws | Pick it for |
|---|---|---|
| ECharts | Charts: every built-in type | The most chart types; SVG on a server |
| d3 | Charts: most types; sankey with d3-sankey | Pictures you shape in code; SVG on a server with a DOM |
| Mermaid | Charts: pie, line, upright bar, sankey, radar, treemap. Diagrams: every Mermaid kind | The Mermaid look, for charts and diagrams alike |
| Pele | Diagrams: every Mermaid kind | Mermaid without an iframe, much smaller to load; also on a server |
| draw.io | Diagrams: draw.io XML | Diagrams drawn and changed in the draw.io editor |
| BPMN | Diagrams: BPMN 2.0 XML | Processes that BPMN tools read |
- Each page lists the chart types or kinds it draws and its limits.
- Which registered Renderer draws a chart, and what a chart names, is under Choosing the Renderer.
Your own Renderer
A Renderer is an object with an id, the chart types it draws, mount to draw in the editor,
and toSVG or toImage for files. It sees the Chart Data and the Chart Spec, never the
document, so it works with every way data gets into a chart.
- Your own Renderer has a complete chart Renderer, its members and what it receives.
- Chart types adds a chart type.
- A Diagram Renderer draws a diagram format.