Great documentation pairs clear text with well-placed media. This page covers the text formatting Doxbrix supports and the media blocks you can add to a page. Fo...
Great documentation pairs clear text with well-placed media. This page covers the text formatting Doxbrix supports and the media blocks you can add to a page. Fo...
Great documentation pairs clear text with well-placed media. This page covers the text formatting Doxbrix supports and the media blocks you can add to a page. For the full block catalog, see Blocks & components.
Text formatting
Select text to bring up the inline formatting toolbar, or type Markdown directly — both produce the same result:
| Style | Toolbar | Shortcut | Markdown |
|---|---|---|---|
| **Bold** | **B** | <kbd>Ctrl/⌘ B</kbd> | `**text**` |
| *Italic* | *I* | <kbd>Ctrl/⌘ I</kbd> | `*text*` |
| Underline | U | <kbd>Ctrl/⌘ U</kbd> | — |
| Strikethrough | S | — | `~~text~~` |
| `Inline code` | `</>` | <kbd>Ctrl/⌘ E</kbd> | `` `code` `` |
| [Link](/) | 🔗 | <kbd>Ctrl/⌘ K</kbd> | `[text](url)` |
| Blockquote | — | — | `> quoted text` |
Inline code is shown in a monospace font with a subtle background — use it for file paths, flags, property names, and anything a reader would type or copy.
Headings
Doxbrix supports six heading levels (# through ######), available in the palette as /h1–/h6. Use exactly one # H1 per page — usually the page title — then structure the rest with ## and ###. Use deeper levels sparingly.
# Page title (one H1 per page)
## Main section
### Sub-section## to ####). Sequential headings keep the page accessible and improve its quality score.Links
- Internal links use a root-relative path:
/write/editor-overview. - External links use a full URL:
https://example.com. - Anchor links target a heading on a page:
/write/editor-overview#the-slash-palette. Heading anchors are generated from the heading text.
Lists
- Bullet item
- Another item
- Nested item
1. First step
2. Second step
- [x] Done
- [ ] To doUnordered (/list), ordered (/ordered), and task lists (/task) are all supported.
<Steps> block over a numbered list — the visual treatment makes the sequence clearer.Tables
Insert a table from the palette (/table) or write GitHub-flavored Markdown. Use colons in the separator row to align columns:
| Left | Center | Right |
| :--- | :----: | ----: |
| a | b | c |Keep tables to a handful of columns — wide tables scroll on mobile. Use — for empty cells.
Code
Code block
Fence code with three backticks and a language name for syntax highlighting (/code). Doxbrix highlights dozens of languages, including bash, typescript, javascript, python, go, rust, java, json, yaml, sql, html, css, and many more. For example, a Python block renders like this:
def greet(name: str) -> str:
return f"Hello, {name}!"Code group and terminal
Use a <CodeGroup> (/codegroup) for the same command across tools, and a <Terminal> block (/terminal) for shell sessions.
Images
Add an image with the Image block (/image). You can upload a file, drag and drop, paste from the clipboard, or enter an image URL:
<Image src="https://…/architecture.png" alt="How requests flow through the system" caption="Request lifecycle" />Always write descriptive alt text — it's read by screen readers and counts toward your accessibility score. The optional caption appears below the image.
Video
Embed a video with the Video block (/video) — a YouTube, Vimeo, or Loom URL:
<Video url="https://www.youtube.com/watch?v=EXAMPLE" />Embeds and frames
- Embed (
/embed) inlines a URL or iframe — Loom, CodeSandbox, Figma, and otherhttps://content:
<Embed src="https://www.loom.com/share/abc123" />- Frame (
/frame) shows a URL inside a browser-style frame, with a title:
<Frame url="https://example.com" title="Live example" />Downloadable files
Offer a file for readers to download with the File block (/file):
<File name="openapi.yaml" url="https://…/openapi.yaml" fileType="yaml" />Math
Render an equation with the Math block (/math, KaTeX):
<Math>e = mc^2</Math>Dividers
Separate major sections with a horizontal rule (--- on its own line, or /divider). Use them sparingly — headings already create visual separation.