Renderer types reference
CanvasMesh picks a renderer by looking up the canvas ext in the table below. Override with the render parameter on create/update.
Built-in renderers
Section titled “Built-in renderers”| Renderer ID | Type | Default extensions |
|---|---|---|
rdr_builtin_none | none | (fallback — anything not below) |
rdr_builtin_html | html | html, htm |
rdr_builtin_markdown | markdown | md, markdown |
rdr_builtin_react | react | jsx, tsx |
rdr_builtin_svg | svg | svg |
rdr_builtin_json | json | json |
rdr_builtin_text | text | txt, log, js, ts, css, py, go, rs, java, sh, yaml, yml, toml |
rdr_builtin_image | image | png, jpg, jpeg, gif, webp, bmp, ico |
rdr_builtin_notebook | notebook | ipynb |
Render type values
Section titled “Render type values”The SDK RenderType, the REST render field, and the CLI --type flag all accept the same values:
none, html, markdown, react, svg, json, text, image, notebook
MIME types sent by the viewer
Section titled “MIME types sent by the viewer”| Extension | MIME |
|---|---|
| html, htm | text/html |
| md, markdown | text/markdown |
| jsx, tsx | text/plain |
| svg | image/svg+xml |
| json | application/json |
| txt, log, text | text/plain |
| js | text/javascript |
| ts | text/typescript |
| css | text/css |
| py | text/x-python |
| go | text/x-go |
| rs | text/x-rust |
| java | text/x-java |
| sh | text/x-shellscript |
| yaml, yml | application/yaml |
| toml | application/toml |
| png, jpg, jpeg, gif, webp, bmp, ico | image/… |
| application/pdf | |
| ipynb | application/x-ipynb+json |
| (other) | application/octet-stream |
The none renderer
Section titled “The none renderer”When no match exists, the canvas is created with none. The viewer shows file metadata and a download button — no preview is attempted.
Changing the renderer later
Section titled “Changing the renderer later”await client.update(canvasId, { render: 'markdown' });The content file is unchanged; only the renderer assignment updates. A new version is not created for renderer-only changes.