Block Editor
Ink's editor is block-based. Everything on a page — text, images, code, embeds — is a block. You move blocks by dragging, insert them with slash commands, and format with markdown-style shortcuts.
Inserting blocks
Slash commands. Type / anywhere to open the block picker.
Start typing to filter:
/h1,/h2,/h3— headings/bul,/num,/check— lists/quote,/callout,/divider— formatting/code— fenced code with language picker/table— table/image,/file,/video,/embed— media/toggle— collapsible section/math— KaTeX inline or block
Hit Enter on the block you want.
Markdown shortcuts. Type these at the start of a line:
| Shortcut | Produces |
|---|---|
# + space | H1 |
## + space | H2 |
### + space | H3 |
- + space | Bullet list |
1. + space | Numbered list |
[] + space | Checkbox list |
> + space | Quote |
\``` + language | Code block |
Block types
Text
Paragraph, heading, quote, bullet, numbered list, checkbox list.
All support bold, italic, strikethrough, inline code,
and hyperlinks.
Callouts
Five styles: info, tip, warning, danger, quote. Each has an icon and colored background. Useful for notes and important warnings.
Toggles
Collapsible sections. Great for FAQ-style content and long docs where you want a summary view.
Code
Fenced code blocks with language selection. Syntax highlighting via Shiki. Supports diff mode and line-range highlighting for when you want to draw attention to specific lines.
```diff
- old line
+ new line
```Tables
Standard tables with cell merging, column alignment, and header/footer rows. Each cell supports rich text (bold, links, code).
Images and files
Drag-and-drop, paste from clipboard, or /image. Uploaded to
the Supabase Storage bucket configured in your env. Files support
inline preview for PDFs.
Embeds
YouTube, Loom, Figma, Google Docs, GitHub gists, CodePen — paste
a URL and Ink figures it out. For anything without a built-in
handler, /embed with an iframe src works.
Math
Inline ($x^2 + y^2$) and block math via KaTeX. Great for
technical docs.
Linked pages
@page-name creates a bidirectional link. The target page's
Backlinks panel lists every page pointing to it.
Special blocks
- Task block — syncs with Comms Tasks View if Comms is in the same Supabase project.
- Pulse digest block — embeds a live standup digest from a Pulse team.
- Track record embed — renders a linked Track contact, company, or deal inline.
Drag-and-drop
Every block has a handle (⋮⋮) in the left margin. Drag to reorder, indent (for lists and nested toggles), or drop into another page in the sidebar.
Keyboard shortcuts
| Shortcut | Action |
|---|---|
Cmd+B, Cmd+I, Cmd+U | Bold, italic, underline. |
Cmd+Shift+7, Cmd+Shift+8 | Numbered, bulleted list. |
Cmd+Enter | Toggle checkbox done. |
Tab / Shift+Tab | Indent / outdent in lists. |
Cmd+K | Global search + jump. |
Cmd+/ | Open slash menu. |
Cmd+Z, Cmd+Shift+Z | Undo, redo. |
Alt+drag | Duplicate a block. |
Collaboration
- Live cursors — see where co-editors' cursors are.
- Presence — avatars at the top show who's on the page right now.
- Comment — select any block,
Cmd+Shift+Mto comment. - @-mention —
@usernamenotifies the mentioned user.
See Conversations & Threads for more on comments.
Version history
Every save creates a version row. Cmd+Option+H opens the
version picker — scroll through time, preview any version, and
restore (non-destructive: restoring creates a new top version).
Exporting
From the page menu:
- Export → Markdown — plain
.mdwith frontmatter. - Export → HTML — standalone
.htmlwith inline styles. - Export → PDF — via the browser's print flow.
- Copy as markdown — selection-level or full page.
Performance notes
Pages load incrementally (block by block). Very long pages (>1000 blocks) stay smooth. Collaborative editing uses CRDT-like merging — concurrent edits merge without conflicts in most cases.