Zerowidth CleanerMeasured guides

CLAUDE WATERMARK REMOVER · MARKDOWN TEST

Why did this pasted terminal line become a Markdown quote?

The quote appears because U+200B no longer sits in front of the > marker.

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

What changed in the preview

The original line begins with U+200B followed by a greater-than sign. CommonMark renders a paragraph containing a literal greater-than sign. The cleaned line begins with the marker itself, and the resulting HTML wraps Review result in a blockquote. That change matters when terminal output is pasted as documentation: the marker may represent a prompt you intend to show literally. Put literal terminal examples in a fenced block or escape the marker and check the preview. The test isolates the prefix on one line, so the change does not depend on a neighboring paragraph or an existing quote.

What this test covers

This checks a line at the start of a document. Nested quotes, continuation rules and terminal escape sequences are outside the fixture.

Measured HTML

The first preview contains a literal U+200B, displayed below as \u200B. The HTML is shown as text.

Before cleanup

<p>\u200B&gt; Review result</p>

After cleanup

<blockquote>
<p>Review result</p>
</blockquote>

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.