From bd16fb30496568c90d34b6cb231222dd19cfb933 Mon Sep 17 00:00:00 2001 From: Rachael Rose Renk <91027132+rachaelrenk@users.noreply.github.com> Date: Wed, 8 Jul 2026 14:05:39 -0600 Subject: [PATCH 1/3] docs(APP-4267): add Mermaid diagrams section to markdown-viewer Adds a '## Mermaid diagrams' section to the Markdown Viewer page covering how to insert Mermaid blocks, the Raw/Rendered toggle, and failure/timeout behavior introduced in APP-4267. Also updates the page frontmatter description to mention Mermaid. Co-Authored-By: Oz --- .../more-features/markdown-viewer.mdx | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/src/content/docs/terminal/more-features/markdown-viewer.mdx b/src/content/docs/terminal/more-features/markdown-viewer.mdx index 58be53293..e96b76658 100644 --- a/src/content/docs/terminal/more-features/markdown-viewer.mdx +++ b/src/content/docs/terminal/more-features/markdown-viewer.mdx @@ -1,7 +1,7 @@ --- title: Markdown Viewer description: >- - Open Markdown files in your terminal and run commands. + Open Markdown files in your terminal, run shell commands, and view rendered Mermaid diagrams. sidebar: label: "Markdown viewer" --- @@ -87,6 +87,33 @@ If the command contains any arguments using the curly brace `{{param}}` syntax, -In addition, all shell and code blocks have a copy button to quickly copy the block’s text to the clipboard. +In addition, all shell and code blocks have a copy button to quickly copy the block's text to the clipboard. Code blocks without a set language, or one of the following languages, are treated as shell commands: `sh`, `shell`, `bash`, `fish`, `zsh`, `warp-runnable-command`. + +## Mermaid diagrams + +Warp renders [Mermaid](https://mermaid.js.org/) diagrams in the markdown viewer. Add a fenced code block with the `mermaid` language tag and Warp converts it to a rendered SVG diagram automatically. + +```` +```mermaid +graph LR + A[Start] --> B[End] +``` +```` + +[TODO: docs reviewer — screenshot of a rendered Mermaid diagram in the markdown viewer] + +### Switching between raw and rendered + +Each Mermaid block includes a **Raw** and **Rendered** toggle. Use it to switch between the rendered diagram and the original Mermaid source without leaving the viewer. + +### Render failures and timeouts + +If a Mermaid diagram cannot be rendered — for example, due to invalid syntax — Warp replaces the loading placeholder with a **Failed to render Mermaid diagram** notice. The same notice appears if rendering takes longer than 10 seconds. + +The notice is localized to the affected block; the rest of the document continues to render normally. Multiple Mermaid diagrams in the same file are independent — a failure in one does not affect others. + +Your original Mermaid source is always preserved. Copying, exporting, and undo/redo all operate on the authored code, not the failure notice. + +If rendering eventually succeeds after a timeout, Warp replaces the notice with the rendered diagram automatically. From 41464f2e79f1fcada2cfda4d899e17541f1ea99d Mon Sep 17 00:00:00 2001 From: rachaelrenk Date: Sun, 12 Jul 2026 21:26:11 +0000 Subject: [PATCH 2/3] docs: add Mermaid screenshot, remove render failures section per review Co-Authored-By: Oz --- .../markdown-viewer-mermaid-diagram.png | Bin 0 -> 26247 bytes .../terminal/more-features/markdown-viewer.mdx | 15 ++++----------- 2 files changed, 4 insertions(+), 11 deletions(-) create mode 100644 src/assets/terminal/markdown-viewer-mermaid-diagram.png diff --git a/src/assets/terminal/markdown-viewer-mermaid-diagram.png b/src/assets/terminal/markdown-viewer-mermaid-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..430565dfb7cecc7c4c0abf5ed26ce2a86b85a39f GIT binary patch literal 26247 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 J6lkBk@IUwN4 +![A Mermaid flowchart rendered as an SVG diagram in Warp's Markdown Viewer](../../../assets/terminal/markdown-viewer-mermaid-diagram.png) +
A Mermaid diagram rendered in the Markdown Viewer.
+ ### Switching between raw and rendered Each Mermaid block includes a **Raw** and **Rendered** toggle. Use it to switch between the rendered diagram and the original Mermaid source without leaving the viewer. - -### Render failures and timeouts - -If a Mermaid diagram cannot be rendered — for example, due to invalid syntax — Warp replaces the loading placeholder with a **Failed to render Mermaid diagram** notice. The same notice appears if rendering takes longer than 10 seconds. - -The notice is localized to the affected block; the rest of the document continues to render normally. Multiple Mermaid diagrams in the same file are independent — a failure in one does not affect others. - -Your original Mermaid source is always preserved. Copying, exporting, and undo/redo all operate on the authored code, not the failure notice. - -If rendering eventually succeeds after a timeout, Warp replaces the notice with the rendered diagram automatically. From 73885d879bba0053905de967cacb4a45948cd4a8 Mon Sep 17 00:00:00 2001 From: Rachael Rose Renk <91027132+rachaelrenk@users.noreply.github.com> Date: Sun, 12 Jul 2026 15:29:02 -0600 Subject: [PATCH 3/3] fix: correct image path depth for Mermaid screenshot Co-Authored-By: Oz --- src/content/docs/terminal/more-features/markdown-viewer.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/terminal/more-features/markdown-viewer.mdx b/src/content/docs/terminal/more-features/markdown-viewer.mdx index c1f756bbf..1c6d094cb 100644 --- a/src/content/docs/terminal/more-features/markdown-viewer.mdx +++ b/src/content/docs/terminal/more-features/markdown-viewer.mdx @@ -103,7 +103,7 @@ graph LR ````
-![A Mermaid flowchart rendered as an SVG diagram in Warp's Markdown Viewer](../../../assets/terminal/markdown-viewer-mermaid-diagram.png) +![A Mermaid flowchart rendered as an SVG diagram in Warp's Markdown Viewer](../../../../assets/terminal/markdown-viewer-mermaid-diagram.png)
A Mermaid diagram rendered in the Markdown Viewer.