From 45e064bdf893ede7367aa555c484316294b2fc57 Mon Sep 17 00:00:00 2001 From: Kunal Pathak Date: Mon, 26 Oct 2026 19:01:06 +0100 Subject: [PATCH 01/10] docs: copy sibling-extensions.md from NotionDown The shared file had drifted: it lacked the Tools and authority section and had a table-padding difference. Copying NotionDown's main makes the five repositories identical again. --- docs/sibling-extensions.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/sibling-extensions.md b/docs/sibling-extensions.md index 3b6cf4f..aa462b9 100644 --- a/docs/sibling-extensions.md +++ b/docs/sibling-extensions.md @@ -22,7 +22,7 @@ Some files must be identical in every repository. Others share a purpose and dif | `.github/workflows/ci.yml` | Identical in all five, except that Safe PDF Viewer adds a browser test step. | | `.nvmrc` | Holds the lowest Node version that `engines.node` allows. The value differs per repository. CI fails when the two disagree. | | `docs/workflows.md`, routing table in `AGENTS.md` | Same structure and wording. Rows and steps that name this extension's own tools differ. | -| `docs/sibling-extensions.md` | Same content in all five repositories. | +| `docs/sibling-extensions.md` | Same content in all five repositories. | | `eslint.config.js`, Prettier config, `.vscodeignore`, `package.json` scripts and tool versions | Aligned in intent. They differ where an extension needs a different setting. | ## When to check the siblings @@ -57,3 +57,24 @@ done - **Stop for approval:** - Do not push, merge, tag, or release a sibling without the maintainer's instruction. - Report what changed in each sibling and which siblings need no change. + +## Tools and authority + +Three command-line tools are installed and signed in on the maintainer's machine. Look up each command with `--help` before you rely on this list. + +- **Tools:** + - `gh` (GitHub CLI): check with `gh auth status`. + - `vsce` (Visual Studio Marketplace): check with `vsce verify-pat KunalPathak`. + - `ovsx` (Open VSX): check with `ovsx verify-pat KunalPathak`, which reads the token from the `OVSX_PAT` variable. Without it, `ovsx show KunalPathak.` still reads the registry. +- **Reading needs no approval:** + - Use the tools for every GitHub, Marketplace, and Open VSX read: repository, release, issue, pull request, workflow, and registry state. + - Do not ask the maintainer to open a web page for something a tool can print. + - Examples: `gh release view`, `gh run list`, `gh pr view`, `vsce show KunalPathak.`, `ovsx show KunalPathak.`. +- **Changing state needs the maintainer's word:** + - Merge, push, tag, and publish still happen only when the maintainer says so (see "Git and Commits" in `AGENTS.md`). + - After the maintainer has said so, run every step with the tools and do not ask again for each command. +- **Missing tool or sign-in:** + - Install the tool (`brew install gh`, `npm install -g @vscode/vsce ovsx`), then ask the maintainer to sign in. + - The agent never reads, prints, stores, or pastes a token. +- **Permission prompts:** + - This text does not change the prompts of an agent harness. In Claude Code, they come from `settings.json`, which the maintainer edits. From 053d7b3e56b9a17e18039929d89236f8eebcbb43 Mon Sep 17 00:00:00 2001 From: Kunal Pathak Date: Mon, 26 Oct 2026 19:01:06 +0100 Subject: [PATCH 02/10] docs: add Tools and Authority section to AGENTS.md Agents should read GitHub, Marketplace, and Open VSX state with gh, vsce, and ovsx instead of asking for web pages, and change state only on the maintainer's word. The section points to the canonical text in sibling-extensions.md. --- AGENTS.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 30ac44f..e4aff9c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -74,6 +74,17 @@ Match the maintainer's request to a workflow in [docs/workflows.md](docs/workflo - Push, tag, merge, and publish only when the maintainer says so. - Add no `Co-Authored-By` trailers and no tool or model attribution to commits, pull requests, files, or release notes. +## Tools and Authority + +`gh`, `vsce`, and `ovsx` are installed and signed in. The full text is in [docs/sibling-extensions.md](docs/sibling-extensions.md#tools-and-authority). + +- **Read with the tools:** + - Fetch GitHub, Marketplace, and Open VSX state yourself, and do not ask for approval or for a web page. +- **Change state on the maintainer's word:** + - Merge, push, tag, and publish wait for the maintainer. After they say so, run each step without asking again. +- **Never handle tokens:** + - Do not read, print, store, or paste one. If a tool or sign-in is missing, ask the maintainer. + ## Multi-file change protocol After an edit that touches several files, align code, tests, and documents before committing. From 7fd6b829575d0d7eafba7a8c1738a7abb4c1b6bb Mon Sep 17 00:00:00 2001 From: Kunal Pathak Date: Mon, 26 Oct 2026 19:04:08 +0100 Subject: [PATCH 03/10] docs: add showcase deck and README screenshots The README showed only a GIF, which search visitors cannot scan. The new examples/showcase.md is the source for six PNG screenshots, one per feature, in a dark and a light theme. They were captured from the real webview page via scripts/render-harness.js in headless Chromium with VS Code Dark+/Light+ variables, not in a VS Code window. readme-*.png stays out of the package so the vsix does not grow. --- .vscodeignore | 1 + assets/readme-appearance-settings.png | Bin 0 -> 37953 bytes assets/readme-hero-dark.png | Bin 0 -> 45320 bytes assets/readme-markdown-rendering.png | Bin 0 -> 28482 bytes assets/readme-mermaid-diagram.png | Bin 0 -> 42068 bytes assets/readme-slide-markers.png | Bin 0 -> 35494 bytes assets/readme-theme-light.png | Bin 0 -> 43263 bytes examples/showcase.md | 95 ++++++++++++++++++++++++++ 8 files changed, 96 insertions(+) create mode 100644 assets/readme-appearance-settings.png create mode 100644 assets/readme-hero-dark.png create mode 100644 assets/readme-markdown-rendering.png create mode 100644 assets/readme-mermaid-diagram.png create mode 100644 assets/readme-slide-markers.png create mode 100644 assets/readme-theme-light.png create mode 100644 examples/showcase.md diff --git a/.vscodeignore b/.vscodeignore index 1ac0fe9..02561b2 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -23,6 +23,7 @@ assets/simple-start.gif assets/test-images assets/button.svg assets/extension-demo.gif +assets/readme-*.png scripts/ AGENTS.md .prettierrc.json diff --git a/assets/readme-appearance-settings.png b/assets/readme-appearance-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..a5a61345b727dba9c48dee9063bc7086e8dfdd97 GIT binary patch literal 37953 zcmeFZRahL$);|mc5AN<7oFTYFaEIXT?(QVGySpdBU4u(-cXxN!|B#%s_u2d6yZ$cT z=c$>guIcKoUbU=NtzU=8$%w+k;=qD{fWV832`hkrfJ=aYfYL&P0b4XGJ5+!_pbiS6 zf*@rhc>BNuVIx&>V`*uS55PJ!2xyQQ2>9D6zz+`a0|N3c8x-Un@E7#0EgS5=|AI?o zzx!_;l=kh!J;`^FARzo8;=%$-uAoO5P`aN#;syrP$=xU?(i*`I*mg#3K+4O>BZDIg z8$wgzg32e-&U=IqeIbFRk_jY1(DV&Hg0H#_tb3Bh#X-DX$@I`r-=niBC8ylw!j`p< z^}LTwS5kZbxlx3Vgb3^(1?dS~0m=s>{v9$B=s!v@1<|$0H9xrU{}!SEq-ggzL0E

aG9{`i+e`pC|$TAJ2vaZ2kW3U)`zweW%jU6ru+L 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 literal 0 HcmV?d00001 diff --git a/assets/readme-hero-dark.png b/assets/readme-hero-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..8c4525c4b9f3c43f63e9bfa675e5b03208ffc169 GIT binary patch literal 45320 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 k;siEBh$XaFs0SP+`(tD>y0A440T)1A`gnId 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[fw;!&-miEFlj= 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 literal 0 HcmV?d00001 diff --git a/assets/readme-mermaid-diagram.png b/assets/readme-mermaid-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..f8f385d791324975330b39f62ebee0ed903569ef GIT binary patch literal 42068 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 literal 0 HcmV?d00001 diff --git a/assets/readme-slide-markers.png b/assets/readme-slide-markers.png new file mode 100644 index 0000000000000000000000000000000000000000..1b0c385e84a978107ce66b23adc8f1e919facb78 GIT binary patch literal 35494 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 K;fb7i$o~TBGWr1k literal 0 HcmV?d00001 diff --git a/assets/readme-theme-light.png b/assets/readme-theme-light.png new file mode 100644 index 0000000000000000000000000000000000000000..932987094e1495395255167ddc375ef58e8c3a8b GIT binary patch literal 43263 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 zib + +# Present Markdown in VS Code + +Mark the slides in a plain-text file and present them beside your editor. + +- **No export step:** the slides stay in the Markdown file you already edit +- **Live:** the slideshow updates as you type +- **Diagrams:** Mermaid renders from the same file + +```mermaid +graph LR + A[Markdown file] --> B[Slideshow] + B --> C[Presented in VS Code] +``` + + + + + +## Mermaid diagrams + +Write a diagram in a backtick fence or in an Azure DevOps `::: mermaid` block. Both render the same way. + +```mermaid +sequenceDiagram + participant Author + participant Reviewer + participant CI + Author->>Reviewer: Open pull request + Reviewer->>Author: Request changes + Author->>CI: Push fixes + CI-->>Reviewer: Checks pass + Reviewer->>Author: Approve +``` + + + + + +## Mark slides with HTML comments + +Only the text between the two markers becomes a slide. + +```markdown +Notes and drafts stay outside the markers. + + + +# My first slide + +Welcome to the presentation. + + +``` + +The markers are comments, so other Markdown previews hide them. + + + + + +## Markdown rendering + +Headings, lists, **bold**, _italic_ and `inline code` render as you expect. + +1. Write the slide +2. Check it beside the source +3. Present + +```js +function greet(name) { + return `Hello, ${name}`; +} +``` + + + + + +## Settings + +Alignment, font size, background color, the slide counter and the navigation arrows are settings. + +- `markdownPresentation.slide.fontSize` +- `markdownPresentation.slide.backgroundColor` +- `markdownPresentation.slide.headingAlignment` + + From f7ebedb6047a1f2c1395c9dd3248bccc5e547ab3 Mon Sep 17 00:00:00 2001 From: Kunal Pathak Date: Mon, 26 Oct 2026 19:04:08 +0100 Subject: [PATCH 04/10] docs: redraft the README around feature screenshots Heading, a plain sentence, then a screenshot for each feature a visitor searches for. The GIF stays in assets/ but leaves the README. Install now covers VS Code, Open VSX and a .vsix file, and a What it does not do section replaces the Features list, which repeated the sections above. --- readme.md | 111 ++++++++++++++++++++++++++---------------------------- 1 file changed, 54 insertions(+), 57 deletions(-) diff --git a/readme.md b/readme.md index 9bab655..94fd0ea 100644 --- a/readme.md +++ b/readme.md @@ -2,59 +2,71 @@ **Present a Markdown file as a slide deck without leaving VS Code.** -[Markdown Presentation Tool](https://marketplace.visualstudio.com/items?itemName=KunalPathak.markdown-presentation-tool) turns the slides you mark in a Markdown file into a navigable slideshow beside your editor. It suits documentation, meeting notes, and architecture diagrams, and it needs no export step. The slides stay in the same plain-text file you already edit, and the slideshow updates as you type. +[Markdown Presentation Tool](https://marketplace.visualstudio.com/items?itemName=KunalPathak.markdown-presentation-tool) turns the slides you mark in a Markdown file into a navigable slideshow beside your editor. It needs no export step, no configuration, and sends no telemetry. -![Markdown Presentation Tool](https://raw.githubusercontent.com/kanad13/markdown-presentation-tool/refs/heads/main/assets/extension-demo.gif) +![A slide titled Present Markdown in VS Code with three bullet points and a Mermaid flowchart, shown in a dark theme with a navigation arrow on each side](https://raw.githubusercontent.com/kanad13/markdown-presentation-tool/main/assets/readme-hero-dark.png) -## Install +- **Your file is the deck:** the slides stay in the plain-text Markdown file you already edit. +- **Live:** the slideshow updates as you type and keeps your slide position. +- **Diagrams:** Mermaid renders from backtick fences and from Azure DevOps `::: mermaid` blocks. +- **Themes:** slides follow your VS Code light or dark theme. -- **From the Marketplace:** - - Open the [Markdown Presentation Tool page](https://marketplace.visualstudio.com/items?itemName=KunalPathak.markdown-presentation-tool) and select **Install**. - - Or search for "Markdown Presentation Tool" in the VS Code Extensions view. -- **Requirements:** - - The current stable release of VS Code, or any older release back to the `engines.vscode` floor in [package.json](package.json). - - Internet access when a slide contains a Mermaid diagram (see [Privacy and security](#privacy-and-security)). +## Mark slides with HTML comments -## Use +Put `` on its own line to open a slide and `` on its own line to close it. Only text between the two markers becomes a slide, so notes and drafts stay in the file without showing on screen. The markers are HTML comments, so other Markdown previews hide them. -1. **Mark your slides.** Put `` on its own line to open a slide and `` on its own line to close it. -2. **Open the Markdown file** in VS Code. -3. **Start the presentation** in either of two ways: - - Select the **Presentation icon** in the editor title bar. - - Open the Command Palette (`Cmd+Shift+P` or `Ctrl+Shift+P`) and run `Markdown: Show Markdown Presentation`. +![A slide showing a Markdown code sample with the slide and slash-slide comment markers around a first slide](https://raw.githubusercontent.com/kanad13/markdown-presentation-tool/main/assets/readme-slide-markers.png) + +A file with no `` line shows one slide per Mermaid diagram and ignores the text around the diagrams. -Only text inside an open/close pair becomes a slide. Notes, drafts, and reminders outside the pairs stay in the editor. +## Mermaid diagrams -````markdown - +Write a diagram in a backtick fence or in an Azure DevOps `::: mermaid` block. Both render the same way. A diagram error or an unreachable network affects that diagram only, and text slides keep working. -# My First Slide +![A slide showing a Mermaid sequence diagram of an author, a reviewer and a CI system exchanging pull request messages](https://raw.githubusercontent.com/kanad13/markdown-presentation-tool/main/assets/readme-mermaid-diagram.png) -Welcome to the presentation! +## Markdown rendering - +Slides render headings, paragraphs, bullet and numbered lists (one level), bold, italic, inline code, fenced code blocks, blockquotes, horizontal rules, and images from `https://` addresses. -Speaker notes, draft text, or reminders can live here. -They stay in the editor and never appear in the slideshow. +![A slide in a light theme showing a heading, bold and italic text, inline code, a numbered list and a JavaScript code block](https://raw.githubusercontent.com/kanad13/markdown-presentation-tool/main/assets/readme-markdown-rendering.png) - +## Light and dark themes -# Mermaid Diagrams Also Work Natively +Slides follow the active VS Code color theme, and the Mermaid diagram theme follows it too. -```mermaid -graph LR - A[Markdown File] --> B[Presentation] -``` +| Dark theme | Light theme | +| :--------- | :---------- | +| ![The first slide of a deck in a dark VS Code theme](https://raw.githubusercontent.com/kanad13/markdown-presentation-tool/main/assets/readme-hero-dark.png) | ![The first slide of a deck in a light VS Code theme](https://raw.githubusercontent.com/kanad13/markdown-presentation-tool/main/assets/readme-theme-light.png) | -- Images from the web work too! +## Appearance settings - +Settings control alignment, font size, background color, the slide counter, and the on-screen arrows. See [Settings](#settings) for the full list. -- Content outside slide tags is not shown during the presentation. -- Keep speaker notes, prompts, or draft edits in the same file without leaking them onto slides. -```` +![A slide with a centered heading and text on a dark blue custom background color](https://raw.githubusercontent.com/kanad13/markdown-presentation-tool/main/assets/readme-appearance-settings.png) -A file with no `` line shows one slide per Mermaid diagram and ignores the text around the diagrams. +## Install + +- **VS Code:** + - Open the [Markdown Presentation Tool page](https://marketplace.visualstudio.com/items?itemName=KunalPathak.markdown-presentation-tool) and select **Install**. + - Or search for "Markdown Presentation Tool" in the Extensions view. +- **Open VSX (Cursor, VSCodium, and other forks):** + - Install `KunalPathak.markdown-presentation-tool` from [Open VSX](https://open-vsx.org/extension/KunalPathak/markdown-presentation-tool). +- **From a `.vsix` file:** + - Download the file from the [GitHub releases](https://github.com/kanad13/markdown-presentation-tool/releases) and run **Extensions: Install from VSIX...**. +- **Requirements:** + - The current stable release of VS Code, or any older release back to the `engines.vscode` floor in [package.json](package.json). + - Internet access when a slide contains a Mermaid diagram (see [Privacy and security](#privacy-and-security)). + +## Use + +1. **Mark your slides.** Put `` on its own line to open a slide and `` on its own line to close it. +2. **Open the Markdown file** in VS Code. +3. **Start the presentation** in either of two ways: + - Select the **Presentation icon** in the editor title bar. + - Open the Command Palette (`Cmd+Shift+P` or `Ctrl+Shift+P`) and run `Markdown: Show Markdown Presentation`. + +Only text inside an open/close pair becomes a slide. See [Mark slides with HTML comments](#mark-slides-with-html-comments) for an example. ### Navigation @@ -79,28 +91,6 @@ Open VS Code Settings (`Cmd+,` or `Ctrl+,`) and search for **Markdown Presentati | **UI** | `markdownPresentation.slide.showCounter` | `true` | Show the slide counter in the bottom-right corner | | **UI** | `markdownPresentation.slide.showNavigationArrows` | `true` | Show the on-screen navigation arrows | -## Features - -- **Editor integration:** - - The slideshow opens beside your editor and needs no configuration. - - Edits to the source file appear in the slideshow while you type. - - The slide position survives switching tabs and changing settings. -- **Markdown rendering:** - - Headings, paragraphs, bullet and numbered lists (one level), blockquotes, and horizontal rules. - - Bold, italic, inline code, and fenced code blocks. - - Images from `https://` addresses, one image per line. -- **Diagrams:** - - Mermaid diagrams render from backtick fences and from Azure DevOps `::: mermaid` fences. - - A diagram error or an unreachable network affects that diagram only. Text slides keep working. -- **Appearance:** - - Slides follow your VS Code light or dark theme. - - Settings control alignment, font size, background color, and the on-screen controls. -- **Clean source files:** - - The slide tags are HTML comments, so other Markdown previews hide them. -- **Not supported:** - - Tables, clickable links, nested lists, and images from local file paths. - - [decisions.md](docs/decisions.md) records why. - ## Privacy and security - **Network use:** @@ -119,6 +109,13 @@ Open VS Code Settings (`Cmd+,` or `Ctrl+,`) and search for **Markdown Presentati - The extension accepts only known values for enumerated settings and a plain CSS color for the background. - It ignores any other value. +## What it does not do + +- It does not render tables, clickable links, nested lists, or images from local file paths. +- It does not export to PDF or HTML, and it has no presenter mode or speaker notes window. +- It does not bundle Mermaid, so diagrams need network access. +- [decisions.md](docs/decisions.md) records why, and what would change each answer. + ## Contribute - **Set up and release:** [docs/development.md](docs/development.md) covers local setup, checks, CI, and the release process. From 5c2144365864f37ef91c1709dbbc90c112e067f6 Mon Sep 17 00:00:00 2001 From: Kunal Pathak Date: Mon, 26 Oct 2026 19:04:08 +0100 Subject: [PATCH 05/10] test: check README images and document the rule Relative or blob image links break on the Marketplace and Open VSX pages because the package leaves assets out, and SVG is rejected. The readme images suite checks absolute raw URLs, that each file exists, PNG only, alt text of 10+ characters, and at least four images. Sabotage check: a relative URL and a missing file each fail the suite. --- docs/development.md | 17 +++++++++++++++++ test/docs.test.js | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/docs/development.md b/docs/development.md index 7e5144b..ce9b80e 100644 --- a/docs/development.md +++ b/docs/development.md @@ -15,6 +15,7 @@ This guide covers setup, daily checks, continuous integration, and the release p | `examples/02-slide-mode-basics.md` | Slide mode happy path: text and diagrams, both fence syntaxes | | `examples/03-slide-mode-advanced.md` | Slide mode edge cases: preamble, gaps, empty pairs, a tall slide | | `examples/04-demo-script.md` | Walkthrough content for demos and manual testing | +| `examples/showcase.md` | Source of the README screenshots | ## Prerequisites @@ -61,6 +62,22 @@ code --uninstall-extension KunalPathak.markdown-presentation-tool The `.vsix` file is git-ignored. Do not commit it. +### Readme images + +- **Link:** + - Link each image by an absolute `https://raw.githubusercontent.com/kanad13/markdown-presentation-tool/main/assets/.png` URL. + - The package leaves `assets/readme-*.png` out, so a relative link breaks on the Marketplace and Open VSX pages. A `github.com/.../blob/...` link returns an HTML page, not the image. +- **Format:** + - Use PNG, because the Marketplace rejects SVG. Name the files `assets/readme-*.png`. + - Give every image alt text of one full sentence that describes what it shows. +- **Merge order:** + - Add the file on the same branch as the link. The image URL works for readers only after the branch merges to `main`. +- **Source:** + - `examples/showcase.md` is the document behind the screenshots. Serve it with the [browser harness](testing.md#browser-harness-procedure) and capture each slide in a 1100 by 700 viewport, then crop. On macOS, `sips -c H W --cropOffset Y X` ignores a zero offset and crops from the centre, so use an offset of 1. + - Open every cropped image before you link it. +- **Check:** + - The `readme images` suite in `test/docs.test.js` checks the URLs, the files, the format, the alt text, and a minimum of four images. + ### Check rendering in a browser `node scripts/render-harness.js` serves the generated page on `localhost`. The procedure is in [testing.md](testing.md#browser-harness-procedure). diff --git a/test/docs.test.js b/test/docs.test.js index 217c65b..976fc2c 100644 --- a/test/docs.test.js +++ b/test/docs.test.js @@ -135,3 +135,41 @@ describe("task routing", () => { ); }); }); + +describe("readme images", () => { + const source = fs.readFileSync(path.join(root, "readme.md"), "utf8"); + // Markdown images and raw tags + const images = [ + ...source.matchAll(/!\[([^\]]*)\]\(([^)\s]+)\)|]*?\bsrc="([^"]+)"[^>]*?(?:\balt="([^"]*)")?[^>]*>/g), + ].map((m) => ({ + alt: m[1] ?? m[4] ?? "", + src: m[2] ?? m[3], + })); + const rawBase = "https://raw.githubusercontent.com/kanad13/markdown-presentation-tool/main/assets/"; + + it("has images", () => { + assert.ok(images.length >= 4, "the readme should show the extension"); + }); + + // The package leaves readme-*.png out, so a relative image link breaks on the Marketplace and Open VSX pages. + // A github.com/blob/ link returns an HTML page, so only the raw host serves the file itself. + it("loads every image from an absolute raw.githubusercontent.com URL on main", () => { + for (const { src } of images) { + assert.ok(src.startsWith(rawBase), `${src} must start with ${rawBase}`); + } + }); + + it("points every image at a PNG that exists in assets/", () => { + for (const { src } of images) { + const file = path.join(root, "assets", src.slice(rawBase.length)); + assert.ok(fs.existsSync(file), `${src} has no file at ${file}`); + assert.match(src, /\.png$/, "images are PNG only, because the Marketplace rejects SVG"); + } + }); + + it("gives every image alt text", () => { + for (const { src, alt } of images) { + assert.ok(alt.trim().length >= 10, `${src} needs descriptive alt text`); + } + }); +}); From 7f74a127bb8d0ee5f6daa8175423265aefde59c3 Mon Sep 17 00:00:00 2001 From: Kunal Pathak Date: Mon, 26 Oct 2026 19:11:17 +0100 Subject: [PATCH 06/10] fix: make Mermaid extraction and mode detection code-aware A regex over the whole text ended a ::: mermaid block at the class shorthand in A:::hot --> B, extracted a Mermaid fence quoted inside another code block, and matched ::: mermaid in mid-line text. hasSlideDelimiter also counted a shown inside a code fence, which switched a Mermaid-only file into slide mode and showed no slides. Both functions now scan line by line with the renderer's fence rules. Four and more backticks and tilde fences stay deferred in decisions.md because the renderer and splitSlides share that limit. Each new test failed before the change, and removing each branch of the new scan fails a test. --- src/extension.js | 66 +++++++++++++++++++++++++++++++++++------- test/extension.test.js | 37 +++++++++++++++++++++++ 2 files changed, 93 insertions(+), 10 deletions(-) diff --git a/src/extension.js b/src/extension.js index 4e3c2c1..17bf147 100644 --- a/src/extension.js +++ b/src/extension.js @@ -31,22 +31,55 @@ const CLOSE_SLIDE_DELIMITER = /^\s*$/i; * - Backtick style: ```mermaid ... ``` * - Azure DevOps / Fenced Div style: ::: mermaid ... ::: * - * Operates on raw text via regex - no markdown parsing required. + * Scans line by line with the same fence rules as the webview renderer: a + * fence opens at the start of a line and a ::: block closes only at a ::: line + * of its own. A regex over the whole text would end a ::: block at the class + * shorthand in "A:::hot --> B", and would treat a Mermaid fence quoted inside + * another code block as a diagram. An unclosed block is dropped. * * @param {string} rawText - Raw markdown file content * @returns {string[]} Array of Mermaid diagram code strings (trimmed) */ function extractMermaidBlocks(rawText) { const blocks = []; + /** @type {"" | "backtick" | "colon" | "code"} */ + let inside = ""; + let current = []; - // One alternation keeps blocks in document order when both syntaxes are mixed. - const blockRegex = /```mermaid\s*\n([\s\S]*?)```|:::\s*mermaid\s*\n([\s\S]*?):::/g; - let match; - while ((match = blockRegex.exec(rawText)) !== null) { - const code = (match[1] ?? match[2]).trim(); + function finish() { + const code = current.join("\n").trim(); if (code) { blocks.push(code); } + current = []; + inside = ""; + } + + // One pass keeps blocks in document order when both syntaxes are mixed. + for (const line of rawText.split(/\r?\n/)) { + if (inside === "backtick") { + if (/^```\s*$/.test(line)) { + finish(); + } else { + current.push(line); + } + } else if (inside === "colon") { + if (/^:::\s*$/.test(line)) { + finish(); + } else { + current.push(line); + } + } else if (inside === "code") { + if (/^```\s*$/.test(line)) { + inside = ""; + } + } else if (/^```mermaid\s*$/.test(line)) { + inside = "backtick"; + } else if (/^```/.test(line)) { + inside = "code"; + } else if (/^:::\s*mermaid/.test(line)) { + inside = "colon"; + } } return blocks; @@ -57,7 +90,9 @@ function extractMermaidBlocks(rawText) { * * A slide document is detected by the presence of an opening delimiter line * containing only (case-insensitive, optional surrounding - * whitespace). Files without it use the classic mermaid-only path. + * whitespace). A delimiter shown inside a code fence or a ::: mermaid block is + * sample text, as in splitSlides, and does not count. Files without a real + * delimiter use the classic mermaid-only path. * * @param {string} rawText - Raw markdown file content * @returns {boolean} True if at least one slide delimiter is present @@ -67,9 +102,20 @@ function hasSlideDelimiter(rawText) { return false; } - return rawText.split(/\r?\n/).some(function (line) { - return OPEN_SLIDE_DELIMITER.test(line); - }); + let insideFence = false; + let insideColonMermaid = false; + for (const line of rawText.split(/\r?\n/)) { + if (/^```/.test(line)) { + insideFence = !insideFence; + } else if (!insideFence && /^:::\s*mermaid/.test(line)) { + insideColonMermaid = true; + } else if (insideColonMermaid && /^:::\s*$/.test(line)) { + insideColonMermaid = false; + } else if (!insideFence && !insideColonMermaid && OPEN_SLIDE_DELIMITER.test(line)) { + return true; + } + } + return false; } /** diff --git a/test/extension.test.js b/test/extension.test.js index b573bf7..1d4dd43 100644 --- a/test/extension.test.js +++ b/test/extension.test.js @@ -553,3 +553,40 @@ describe("getWebviewContent template safety", () => { assert.ok(html.includes('import("https://cdn.jsdelivr.net/npm/mermaid@')); }); }); + +describe("code-aware extraction", () => { + it("keeps the A:::class shorthand inside a ::: mermaid block", () => { + const input = "::: mermaid\ngraph TD\n A:::hot --> B\n:::\n"; + assert.deepEqual(extractMermaidBlocks(input), ["graph TD\n A:::hot --> B"]); + }); + + it("closes a ::: mermaid block only at a ::: line of its own", () => { + const input = "::: mermaid\ngraph TD\n A --> B\n B:::hot --> C\n:::\n\n::: mermaid\ngraph LR\n X --> Y\n:::\n"; + const result = extractMermaidBlocks(input); + assert.equal(result.length, 2); + assert.match(result[0], /B:::hot --> C/); + }); + + it("does not extract a mermaid fence that appears inside other fenced code", () => { + const input = "```markdown\n::: mermaid\ngraph TD\n A --> B\n:::\n```\n"; + assert.deepEqual(extractMermaidBlocks(input), []); + }); + + it("does not extract ::: mermaid text from the middle of a line", () => { + assert.deepEqual(extractMermaidBlocks("Write ::: mermaid\nfoo\n:::\n"), []); + }); + + it("does not enter slide mode on a delimiter that sits inside a code fence", () => { + const input = "```markdown\n\n```\n\n```mermaid\ngraph TD\n A --> B\n```\n"; + assert.equal(hasSlideDelimiter(input), false); + assert.deepEqual(getSlides(input), ["```mermaid\ngraph TD\n A --> B\n```"]); + }); + + it("does not enter slide mode on a delimiter that sits inside a ::: mermaid block", () => { + assert.equal(hasSlideDelimiter("::: mermaid\n\n:::\n"), false); + }); + + it("still detects a delimiter that follows a closed code fence", () => { + assert.equal(hasSlideDelimiter("```js\nx\n```\n\n"), true); + }); +}); From 0769716d77314aa51cd3aae02d6458500e8615fa Mon Sep 17 00:00:00 2001 From: Kunal Pathak Date: Mon, 26 Oct 2026 19:12:11 +0100 Subject: [PATCH 07/10] fix: show the diagram source after a Mermaid syntax error A diagram with a syntax error showed Mermaid's own error graphic, while the note above it said the source was shown below. Mermaid now draws no error graphic (suppressErrorRendering) and the failed node gets its source text back, so the note is true. The page was never at risk: other slides, other diagrams, and navigation kept working, and no stray element reached the body. Checked in the browser harness with a bad diagram. The page-contract tests read the generated template and pin the policy before the scripts, the nonce on both scripts, the renderer before the module, the Mermaid configuration, the stale-render guard, and the position key. A sabotage run had left five of these unguarded. The splitSlides fence test now asserts the delimiter stays in slide text, because it passed with fence tracking removed. Each guard was broken once and failed a test. --- src/webview.html | 7 ++++- test/extension.test.js | 67 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 72 insertions(+), 2 deletions(-) diff --git a/src/webview.html b/src/webview.html index a041c2b..9dd9559 100644 --- a/src/webview.html +++ b/src/webview.html @@ -356,7 +356,9 @@ if (!mermaidPromise) { mermaidPromise = import({{MERMAID_MODULE_URL_JSON}}).then( (mod) => { - mod.default.initialize({ startOnLoad: false, theme: '{{THEME}}' }); + // Without suppressErrorRendering Mermaid draws its own error graphic in place of + // the diagram, which hides the source that the note below promises. + mod.default.initialize({ startOnLoad: false, suppressErrorRendering: true, theme: '{{THEME}}' }); return mod.default; }, (error) => { @@ -426,11 +428,14 @@ // Unique IDs so Mermaid tracks each element independently across navigations. node.id = 'mermaid-' + (mermaidIdCounter++); node.removeAttribute('data-processed'); + const source = node.textContent; try { await mermaid.run({ nodes: [node] }); } catch (error) { console.error('Mermaid rendering failed:', error); if (token === renderToken) { + // A failed run can leave the node empty or half drawn. + node.textContent = source; showDiagramError(node, 'Diagram not rendered: check the Mermaid syntax. Diagram source is shown below.'); } } diff --git a/test/extension.test.js b/test/extension.test.js index 1d4dd43..2f523a4 100644 --- a/test/extension.test.js +++ b/test/extension.test.js @@ -132,6 +132,8 @@ describe("splitSlides (explicit open/close tags)", () => { const result = splitSlides(input); assert.equal(result.length, 2); assert.match(result[0], /Slide 1/); + // Without fence tracking the first close tag ends slide 1 early and drops this line. + assert.ok(result[0].includes(""), "the delimiter inside the fence must stay slide text"); assert.match(result[1], /Slide 2/); }); @@ -525,6 +527,7 @@ describe("getWebviewContent template safety", () => { csp[1] ); assert.ok(csp[1].includes("default-src 'none'")); + assert.ok(csp[1].includes("img-src https: data:;"), "img-src must stay limited to https: and data:"); assert.ok(csp[1].includes("base-uri 'none'")); assert.ok(csp[1].includes("form-action 'none'")); assert.ok(!/unsafe-eval/.test(csp[1])); @@ -561,7 +564,8 @@ describe("code-aware extraction", () => { }); it("closes a ::: mermaid block only at a ::: line of its own", () => { - const input = "::: mermaid\ngraph TD\n A --> B\n B:::hot --> C\n:::\n\n::: mermaid\ngraph LR\n X --> Y\n:::\n"; + const input = + "::: mermaid\ngraph TD\n A --> B\n B:::hot --> C\n:::\n\n::: mermaid\ngraph LR\n X --> Y\n:::\n"; const result = extractMermaidBlocks(input); assert.equal(result.length, 2); assert.match(result[0], /B:::hot --> C/); @@ -590,3 +594,64 @@ describe("code-aware extraction", () => { assert.equal(hasSlideDelimiter("```js\nx\n```\n\n"), true); }); }); + +describe("webview page contract", () => { + const settings = { + mermaidTheme: "default", + showCounter: true, + showNavigationArrows: true, + headingAlignment: "left", + contentAlignment: "left", + fontSize: "medium", + backgroundColor: "", + }; + const html = getWebviewContent(["# x"], "n0nce", settings); + // Whole-line comments are dropped so a guard that survives only in a comment does not satisfy a check. + const code = html + .split("\n") + .filter((line) => !/^\s*\/\//.test(line)) + .join("\n"); + + it("sets the Content Security Policy before any script element", () => { + const policy = html.indexOf("Content-Security-Policy"); + assert.ok(policy !== -1); + assert.ok(policy < html.indexOf(" { + const tags = html.match(/]*>/g) ?? []; + assert.equal(tags.length, 2); + for (const tag of tags) { + assert.ok(tag.includes('nonce="n0nce"'), `${tag} has no nonce`); + } + }); + + it("defines the renderer before the module script that calls it", () => { + const renderer = html.indexOf('id="renderer"'); + const moduleScript = html.indexOf('