diff --git a/todo.md b/todo.md index b99c465..4b021ae 100644 --- a/todo.md +++ b/todo.md @@ -25,6 +25,7 @@ | ID | Release | Exempt | Item | R | S | A | G | Goals | Score | |---|---|---|---|---|---|---|---|---|---| | 64 | 0.2.0 | defect | **Read back unchanged on V8 every JSON key the emitter writes, with a fixture whose key holds `\`, `"` or a control character.** | 4 | 4 | 6 | 8 | 1, 8 | 23.0 | +| 43 | 0.2.0 | decision | **Give each markdown input its own reader, strict to its own standard.** | 6 | 7 | 8 | 9 | 4, 5 | 20.3 | | 65 | 0.2.0 | defect | **Read an image not alone in its paragraph as its alt text linked to its URL, and a titled image alone in its paragraph as the image captioned with its title.** | 5 | 5 | 7 | 7 | 4, 5, 7 | 17.1 | | 49 | 0.2.0 | | **Read a list whose bullet or ordered delimiter changes as two lists, in both readers, and retire `!adf:listBreak`.** | 4 | 5 | 5 | 8 | 4, 5 | 15.5 | | 61 | 0.2.0 | decision | **Have the emitter ask the inline reader how a line reads back, in place of `line-escaping.ts` predicting it.** | 6 | 8 | 3 | 8 | 1 | 14.0 | @@ -37,7 +38,6 @@ | 6 | 0.3.0 | decision | **Specify the HTML dialect.** | 2 | 6 | 7 | 8 | 2, 4 | 24.7 | | 77 | 0.3.0 | decision | **Read the input once into a plain copy, so an accessor property or a throwing Proxy yields `not-an-adf-document` and every call returns a result.** | 4 | 4 | 5 | 9 | 1 | 23.0 | | 71 | 0.3.0 | | **Add a README table comparing the package with the other ADF converters, each cell checked against that package's own docs or behaviour.** | 1 | 3 | 6 | 7 | 3 | 21.2 | -| 43 | 0.3.0 | decision | **Give each markdown input its own reader, strict to its own standard.** | 6 | 7 | 8 | 9 | 4, 5 | 20.3 | | 80 | 0.3.0 | | **Name the node's path and the attribute key when `not-an-adf-document` refuses a node inside the document.** | 2 | 3 | 5 | 6 | 1 | 19.2 | | 68 | 0.3.0 | | **Carry a non-text inline node holding `content` or `text`, a block holding `text`, and a leaf block holding `content`.** | 3 | 3 | 4 | 7 | 1 | 18.2 | | 75 | 0.3.0 | | **Make the generated-markdown property write block carries as `adf:` fences, canonical and hostile.** | 2 | 2 | 3 | 7 | 1 | 17.5 | @@ -73,6 +73,14 @@ Deno and Chrome the round-trip would refuse its own output or read back a differ tells which. Confirm with a fixture first; then read JSON with our own parser or record the gap with an ending item. Found by the README-goals audit, 2026-10-03. +### 43. Give each markdown input its own reader, strict to its own standard. + +Today `markdownToAdf` reads CommonMark and the lossless flavour as one input: text shaped like a +directive, a pipe table or a `~~` pair becomes a flavour node where CommonMark reads plain text, and +a code fence whose info string opens `adf:` becomes the block carry where CommonMark reads code. A +caller names the markdown it hands in: CommonMark, read as its spec says, or the lossless flavour, +read as `spec/flavour.md` says. Breaking: `MIGRATION.md` says which call a caller takes. + ### 65. Read an image not alone in its paragraph as its alt text linked to its URL, and a titled image alone in its paragraph as the image captioned with its title. Both are refused today with `unmappable-image`: 14 examples in @@ -182,14 +190,6 @@ the table names each version and the date it was checked. Found while planning d candidates are `@atlaskit/editor-markdown-transformer`, `adf-to-markdown`, `adf-to-md`, `adf2markdown`, `extended-markdown-adf-parser`, `marklassian` and `md-to-adf`. -### 43. Give each markdown input its own reader, strict to its own standard. - -Today `markdownToAdf` reads CommonMark and the lossless flavour as one input: text shaped like a -directive, a pipe table or a `~~` pair becomes a flavour node where CommonMark reads plain text, and -a code fence whose info string opens `adf:` becomes the block carry where CommonMark reads code. A -caller names the markdown it hands in: CommonMark, read as its spec says, or the lossless flavour, -read as `spec/flavour.md` says. Breaking: `MIGRATION.md` says which call a caller takes. - ### 80. Name the node's path and the attribute key when `not-an-adf-document` refuses a node inside the document. Lands with items 45 and 77, whose reader walks every node. Today every refused node, such as one