Zerowidth CleanerMeasured guides

CLAUDE WATERMARK REMOVER · MARKDOWN TEST

Why did a Markdown reference definition stay visible?

Inspect the space between the reference label's closing bracket and its colon. Removing a zero-width space at that position restored a working link in our test.

Tested 11 November 2026 · Synthetic fixture · CommonMark.js 0.31.2

What changed in the preview

The inline `[map][route]` spelling was identical in both source strings. With U+200B between `]` and `:` on the definition line, the renderer emitted that line as a second paragraph and left the inline spelling unlinked. Cleanup made the colon adjacent; the definition disappeared from the visible flow and `/map` became the anchor destination.

What this test covers

This case breaks recognition of the entire definition. It does not rely on an invisible character changing the name of a valid reference label. Review the final `href` against your intended route before publishing a repaired document.

Measured source and preview

Original Markdown

Read [map][route].

[route]\u200B: /map

Cleaned Markdown

Read [map][route].

[route]: /map

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 [map][route].</p>
<p>[route]\u200B: /map</p>

After cleanup

<p>Read <a href="/map">map</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.