CLAUDE WATERMARK REMOVER · MARKDOWN TEST
Why did a link with a quoted title render as plain text?
Removing U+200B immediately before the opening quote lets CommonMark recognize the optional title and create the link.
What changed in the preview
The original Markdown uses an ordinary space after the URL, then U+200B, then a quoted title. The first render leaves the brackets and destination syntax as paragraph text. After one deletion, the generated anchor points to the existing URL and has a title attribute of Release notes. The label remains the release. When a titled link refuses to render, first compare it with a title-free link, then inspect the characters at the boundary between the destination and quote.
What this test covers
This fixture uses a quoted inline title. Reference definitions, title tooltip behavior and links that are altered by the destination editor were outside the test.
Measured source and preview
Original Markdown
Read [the release](https://example.com/release \u200B"Release notes").
Cleaned Markdown
Read [the release](https://example.com/release "Release notes").
The original source and its preview contain a literal U+200B, displayed below as \u200B. The HTML is shown as text.
Before cleanup
<p>Read [the release](https://example.com/release \u200B"Release notes").</p>
After cleanup
<p>Read <a href="https://example.com/release" title="Release notes">the release</a>.</p>
Reproduce locally
Save reproduce.cjs and tested-app.js together. Run npm install --no-save commonmark@0.31.2, then node reproduce.cjs. Compare with the recorded input, output and HTML. The test uses the homepage callback with a minimal DOM. It does not use Claude output or test statistical watermark detection.
See the CommonMark specification and another measured Markdown case.