> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zerotwo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Rich Text Editor

> A full document editor powered by BlockNote — ZeroTwo writes structured documents, reports, emails, and proposals directly into a live canvas.

The Rich Text editor is the default canvas type in ZeroTwo. Powered by **BlockNote**, it gives the AI a fully formatted document to write into — complete with headings, lists, tables, code blocks, and more. When you ask ZeroTwo to write a document, draft a report, compose an email, or produce any long-form content, this is the editor that opens.

## What the AI Writes Here

ZeroTwo uses the Rich Text editor to produce any structured document:

* **Reports and analysis** — market research, performance summaries, technical writeups
* **Business documents** — proposals, project briefs, meeting notes, SOWs
* **Articles and essays** — blog posts, opinion pieces, research summaries
* **Emails and correspondence** — professional emails, follow-ups, announcements
* **Documentation** — API docs, user guides, onboarding materials, READMEs
* **Templates** — any document structure you want to reuse

**Prompts to try:**

* "Write a product requirements document for a mobile app"
* "Draft a job description for a senior software engineer"
* "Create a weekly status report template with sections for wins, blockers, and next steps"
* "Write a blog post about the future of AI in healthcare"
* "Draft a professional email declining a vendor partnership"

## Formatting Reference

The Rich Text editor supports a complete set of formatting options. The AI applies these automatically, and you can apply them manually via the toolbar or keyboard shortcuts.

### Text Styles

| Style             | Keyboard Shortcut | Use Case                              |
| ----------------- | ----------------- | ------------------------------------- |
| **Bold**          | `Cmd/Ctrl + B`    | Key terms, labels, emphasis           |
| *Italic*          | `Cmd/Ctrl + I`    | Titles, foreign terms, light emphasis |
| ~~Strikethrough~~ | —                 | Removed or deprecated content         |
| `Inline code`     | `Cmd/Ctrl + E`    | Variable names, commands, file paths  |

### Headings

Three heading levels structure the document hierarchy:

* **H1** — Document or page title. Use once per document. Markdown shortcut: `# ` at the start of a line.
* **H2** — Major sections. Markdown shortcut: `## `
* **H3** — Subsections within a major section. Markdown shortcut: `### `

### Lists

* **Bullet lists** — Unordered items, features, options
* **Numbered lists** — Sequential steps, ordered instructions
* **Nested lists** — Sub-items under any list item. Indent with `Tab`, outdent with `Shift+Tab`.

### Tables

Insert tables for structured comparisons or data grids:

* Add or remove rows and columns via the table toolbar that appears on hover
* Cells support inline formatting (bold, italic, inline code)
* The AI can populate table data directly based on your prompt

**Example prompt:** "Add a table comparing React, Vue, and Angular across learning curve, performance, and ecosystem size"

### Code Blocks

Full code blocks with syntax highlighting for major languages. These are distinct from the dedicated Code editor canvas — use them for short snippets embedded within a larger document.

### Image Embeds

Embed images by URL directly into the document body.

## Slash Commands

Type `/` anywhere in the Rich Text editor to open the block command menu. Insert any block type without leaving the keyboard:

| Slash Command | Inserts         |
| ------------- | --------------- |
| `/h1`         | Heading 1       |
| `/h2`         | Heading 2       |
| `/h3`         | Heading 3       |
| `/bullet`     | Bullet list     |
| `/numbered`   | Numbered list   |
| `/table`      | Table           |
| `/code`       | Code block      |
| `/image`      | Image embed     |
| `/divider`    | Horizontal rule |

<Tip>
  Slash commands work both when you are editing manually and when the AI pauses mid-generation. Insert a block structure, then ask the AI to fill it in.
</Tip>

## Inline AI Edits

You do not have to resend a message to revise a passage. Select any text inside the canvas and an inline toolbar appears above the selection.

<Steps>
  <Step title="Select text in the canvas">
    Click and drag to highlight the passage you want to change.
  </Step>

  <Step title="The inline toolbar appears">
    A small toolbar appears above the selected text with preset actions and a free-text input.
  </Step>

  <Step title="Choose a preset or type your own instruction">
    * **Rephrase** — rewrite in different words, same meaning
    * **Expand** — add more detail and depth
    * **Make shorter** — condense without losing key information
    * **Fix grammar** — correct grammar and punctuation
    * **Change tone** — adjust to formal, casual, confident, friendly, etc.
    * **Translate** — convert to another language
    * Or type any custom instruction: "Make this sound more authoritative"
  </Step>

  <Step title="ZeroTwo edits in place">
    The selected text is rewritten. Everything else in the document stays unchanged.
  </Step>
</Steps>

## Undo and Redo

The Rich Text editor uses BlockNote's native history. All changes — whether made by the AI or by you manually — are tracked in a single undo stack.

* **Undo:** `Cmd/Ctrl + Z`
* **Redo:** `Cmd/Ctrl + Shift + Z`

<Note>
  Undo history is per-session. Refreshing the page clears the undo stack, though the document content itself is saved.
</Note>

## Keyboard Shortcuts

| Action        | Shortcut                                   |
| ------------- | ------------------------------------------ |
| Bold          | `Cmd/Ctrl + B`                             |
| Italic        | `Cmd/Ctrl + I`                             |
| Inline code   | `Cmd/Ctrl + E`                             |
| Undo          | `Cmd/Ctrl + Z`                             |
| Redo          | `Cmd/Ctrl + Shift + Z`                     |
| Heading 1     | Type `# ` then space at line start         |
| Heading 2     | Type `## ` then space at line start        |
| Heading 3     | Type `### ` then space at line start       |
| Bullet list   | Type `- ` or `* ` then space at line start |
| Numbered list | Type `1. ` then space at line start        |
| Block menu    | `/` at start of a new line                 |

## Exporting Rich Text Documents

Click the **Export** button in the canvas toolbar (top-right of the canvas panel) to export your document.

<Tabs>
  <Tab title="PDF">
    Exports a formatted PDF preserving all headings, tables, lists, and code blocks. Best for sharing with stakeholders who need to read but not edit the document.
  </Tab>

  <Tab title="Word (DOCX)">
    Exports an editable `.docx` file. Open it in Microsoft Word, Google Docs, LibreOffice, or Apple Pages. All headings, lists, bold/italic formatting, and tables are preserved.
  </Tab>

  <Tab title="Markdown">
    Copies the document as Markdown text to your clipboard. Paste directly into GitHub READMEs, Notion, Obsidian, a CMS, or any Markdown-native tool.
  </Tab>

  <Tab title="Email">
    Structures the canvas content as a properly formatted email — adds a greeting, wraps the body content, and adds a professional closing. Copy into your mail client and customize the greeting and signature before sending.
  </Tab>
</Tabs>

## Tips for Best Results

<Tip>
  **Be specific about document structure.** Instead of "write a report on AI trends," try "write a 5-section report on AI trends with an executive summary, three trend sections (productivity, creativity, automation), and a conclusion with recommendations." The AI follows explicit structure closely.
</Tip>

<Tip>
  **Iterate with follow-ups.** After the AI writes the document, keep the canvas open and send follow-up messages: "Expand the second section," "Add a comparison table for cloud providers," "Make the introduction more concise and punchy."
</Tip>

<Tip>
  **Use inline edits for final polish.** Once the document is close to final, use inline selection edits to refine individual paragraphs rather than regenerating the entire document.
</Tip>

<Tip>
  **Export to DOCX for collaboration.** If others need to edit the document, DOCX is the most compatible format. Use PDF for final, read-only distribution.
</Tip>

## Related Pages

<CardGroup cols={2}>
  <Card title="Export Canvas" icon="download" href="/tools/canvas/export-canvas">
    All export formats — PDF, DOCX, Markdown, Email.
  </Card>

  <Card title="Share Canvas" icon="share2" href="/tools/canvas/share-canvas">
    Generate a public read-only link for your document.
  </Card>

  <Card title="Canvas Overview" icon="layers" href="/tools/canvas/overview">
    How Canvas Mode works and all 7 editor types.
  </Card>

  <Card title="Troubleshooting" icon="wand2" href="/tools/canvas/troubleshooting">
    Fix common canvas and inline edit issues.
  </Card>
</CardGroup>
