Scope block separation around lists, guard media marks, and keep the corpus editor-authorable
CI / gate (push) Successful in 4s

This commit is contained in:
2026-08-24 13:55:21 +02:00
parent 9f4b9774dd
commit 86248240dd
6 changed files with 49 additions and 17 deletions
+9 -9
View File
@@ -18,8 +18,8 @@ normalizes to it through the round-trip.
inline, so a `~~~` line opens a CommonMark tilde code fence.
- Bullet lists `- `; ordered lists incrementing `1.` `2.` `3.`, the first number taken from the
node's `order` attribute. Continuation lines align with the first character after the marker
(two spaces for `- `, three for `1. `); blank lines inside an item are empty lines. Lists are
tight — blank lines between items normalize away; ADF does not record tightness.
(two spaces for `- `, three for `1. `); blank lines inside an item are empty lines, none before
a nested list. Blank lines between items normalize away; ADF does not record tightness.
- Blockquotes prefix lines with `> `; a blank line inside a blockquote is a bare `>`.
- ATX headings (`#``######`); setext input normalizes to ATX.
- Code fences ``` with the node's language as info string, the fence lengthened past any backtick
@@ -42,9 +42,9 @@ normalizes to it through the round-trip.
the leading delimiter of a construct that would otherwise open, re-scan from there, and repeat —
with the opener literal the closer parses as text, so `*not emphasis*` is `\*not emphasis*`, one
backslash.
- Blocks separated by one blank line at document level, and between CommonMark blocks; two
directive blocks inside a container take none. No trailing whitespace outside a code block's
content, single trailing newline; a document with no blocks is the empty string.
- Blocks separated by one blank line at document level and between CommonMark blocks outside a
list; two directive blocks inside a container take none. No trailing whitespace outside a code
block's content, single trailing newline; a document with no blocks is the empty string.
## Directives
@@ -199,10 +199,10 @@ The moon, at night.
**The CommonMark image.** A paragraph whose entire inline content is one image `![alt](url)` is
a `mediaSingle` with attrs exactly `{"layout":"center"}` holding an `external` `media``url`
from the destination, `alt` the description's plain-text content when non-empty. `adfToMarkdown`
emits the image form for exactly that shape — those attrs and no others, no marks, no caption,
and a `media` carrying nothing beyond `alt`, `type` and `url`. An image amid other text, or one
carrying a title, is a named error: `mediaInline` carries a media `collection` + `id`, never a
URL, and no media node carries a title.
emits the image form for exactly that shape — those attrs and no others, no marks on either
node, no caption, and a `media` carrying nothing beyond `alt`, `type` and `url`. An image amid
other text, or one carrying a title, is a named error: `mediaInline` carries a media
`collection` + `id`, never a URL, and no media node carries a title.
### Tables