feat(definition-list): render definition lists to <dl>/<dt>/<dd>#142
Open
lolifamily wants to merge 1 commit into
Open
feat(definition-list): render definition lists to <dl>/<dt>/<dd>#142lolifamily wants to merge 1 commit into
lolifamily wants to merge 1 commit into
Conversation
Add a `definitionList` feature (off by default) following the pandoc / PHP Markdown Extra syntax: a term line followed by one or more colon-marked definitions parses into new `descriptionList`, `descriptionTerm`, and `descriptionDetails` mdast nodes, rendered as `<dl>`/`<dt>`/`<dd>`. - Tight vs loose is tracked per definition: `spread` lives on each `descriptionDetails` (mirroring mdast-util-definition-list), so a loose `<dd>` keeps its inner `<p>` while a tight one unwraps it, reusing the existing list-item paragraph-unwrap path. - The definition marker only claims a lone colon, so a `::`/`:::` fence still parses as a directive when both extensions are enabled. Covered by dedicated regression tests for the colon interaction. - The three nodes are wired through the full pipeline: layout-codegen registry, walk/reader decoders, plugin visitor keys, prop slots, and the op-stream round-trip, plus features / plugin-api docs. This also replaces the earlier stub that mapped definition-list syntax onto nested paragraphs, fixing the malformed `<p><p>...</p></p>` output in the #949 regression snapshots. The build additionally refreshes the checked-in napi bindings (index.js, wasi-worker-browser.mjs), which had drifted to 0.8.1 while the package is already at 0.9.4 — an incidental artifact refresh, not a functional change.
Merging this PR will not alter performance
Comparing Footnotes
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #106
Add a
definitionListfeature (off by default) following the pandoc / PHP Markdown Extra syntax: a term line followed by one or more colon-marked definitions parses into newdescriptionList,descriptionTerm, anddescriptionDetailsmdast nodes, rendered as<dl>/<dt>/<dd>.spreadlives on eachdescriptionDetails(mirroring mdast-util-definition-list), so a loose<dd>keeps its inner<p>while a tight one unwraps it, reusing the existing list-item paragraph-unwrap path.::/:::fence still parses as a directive when both extensions are enabled. Covered by dedicated regression tests for the colon interaction.This also replaces the earlier stub that mapped definition-list syntax onto nested paragraphs, fixing the malformed
<p><p>...</p></p>output in the #949 regression snapshots.The build additionally refreshes the checked-in napi bindings (index.js, wasi-worker-browser.mjs), which had drifted to 0.8.1 while the package is already at 0.9.4 — an incidental artifact refresh, not a functional change.