fix: address markdown renderer review findings
Restore the replaced pipeline's synthetic fence newline so a real trailing blank line inside a fence survives CodeBlock's display trim, and pin it plus header-only tables in the DOM-parity corpus. Route extractMarkdownPlainText through parseGfm so the grammar has one source. Document the fixture provenance check (all 46 fixtures reproduce byte-identically from react-markdown at 9e8101b800), the deliberate O(prefix) divergence memcmp, the per-arm scope of grammar consistency, the React 18 MathML namespace limitation, and the prefix-equivalence corpus constraint.
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
/**
|
||||
* The markdown renderer's two mdast grammars, one per rendering arm. Both are
|
||||
* built from the same micromark extensions, so block boundaries and inline
|
||||
* semantics are identical wherever a document (or a document tail) is parsed:
|
||||
* the incremental streaming path, the settled path, and the plain-text
|
||||
* projection all agree on where blocks start and end.
|
||||
* The markdown renderer's two mdast grammars, one per rendering arm. Each
|
||||
* arm is internally consistent — the incremental tail parses, the one-shot
|
||||
* parses, and the plain-text projection of a given grammar always agree on
|
||||
* where blocks start and end — and the settled grammar is the streaming one
|
||||
* plus the math extensions, so the arms differ only where TeX delimiters
|
||||
* begin a math construct (a `$$` block is a paragraph while streaming and a
|
||||
* math block once settled, by design).
|
||||
*/
|
||||
|
||||
import type { Root } from 'mdast'
|
||||
|
||||
Reference in New Issue
Block a user