Zerowidth CleanerMeasured guides

CLAUDE WATERMARK REMOVER · MARKDOWN TEST

Why did a Markdown backslash stop showing and start a line break?

In CommonMark a backslash directly before a newline makes a hard break. The invisible point stopped them from touching.

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

What changed in the preview

The original line ends with a backslash, U+200B and then a line feed. There is no br element and the backslash is still visible in the serialized paragraph. The cleaned source retains the backslash and line feed. The renderer consumes the backslash as syntax and inserts br. Look for that distinction if you want a visible backslash at the end of a line: a source diff can show that it survived while the preview shows it was interpreted.

What this test covers

This fixture uses the backslash marker inside a paragraph. The separate trailing spaces guide covers the alternate hard break syntax.

Measured source and preview

Original Markdown

Keep this line\\u200B
Then this one

Cleaned Markdown

Keep this line\
Then this one

The original source and its preview contain a literal U+200B, displayed below as \u200B. The HTML is shown as text.

Before cleanup

<p>Keep this line\\u200B
Then this one</p>

After cleanup

<p>Keep this line<br />
Then this one</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.