From bb3a128233642d4cc33a16d49c1e47577f32881d Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Wed, 14 Oct 2026 14:27:03 +0200 Subject: [PATCH] =?UTF-8?q?Answer=20product-owner=20round=201:=200=20?= =?UTF-8?q?=F0=9F=94=B4,=201=20=F0=9F=9F=A1;=20name=20the=20refusal=20stor?= =?UTF-8?q?ed=20markdown=20meets,=20and=20make=20the=20next=20release=200.?= =?UTF-8?q?3.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 3 +- MIGRATION.md | 7 ++-- docs/decisions.md | 2 +- todo.md | 98 +++++++++++++++++++++++------------------------ 4 files changed, 56 insertions(+), 54 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a3455ff..77515e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,8 @@ - **Breaking:** a mark spelling skips a `date`, `emoji`, `inlineCard`, `mention`, `status` or `mediaInline` Atlassian's schema withholds the mark from, where `losslessMarkdownToAdf` gave it the marks around it: `**!adf:mention[@A]{id=…}**` reads as a plain mention. A link around only - such nodes, or a directive mark around nodes none of which takes it, is `unsupported-node-shape`. + such nodes, or a directive mark around nodes none of which takes it, is `unsupported-node-shape`, + markdown `adfToLosslessMarkdown` wrote before included. `adfToLosslessMarkdown` writes a node holding such a mark as `!adf:carry{json="…"}`. See `MIGRATION.md`. diff --git a/MIGRATION.md b/MIGRATION.md index ada8887..5d44d2e 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -9,9 +9,10 @@ A mark spelling skips a node Atlassian's schema withholds the mark from: | a `date`, `emoji`, `inlineCard`, `mention`, `status` or `mediaInline` inside a mark's spelling (`**!adf:mention[@A]{id=x}**`) | the node holds the mark | the node holds only marks its type takes; text beside it keeps the mark | | a link or directive mark around such nodes alone (`[!adf:status[Done]{color=green}](/u)`) | the nodes hold the mark | `unsupported-node-shape`; write the mark around text beside them | -`0.2.0` wrote the first row's spelling for a node holding such a mark, which `0.3.0` writes as -`!adf:carry{json="…"}`. Markdown stored from such a document reads back without the mark: to keep -it, read the markdown with `0.2.0` and write it with `0.3.0`, installed side by side. +`0.2.0` wrote these spellings for a node holding such a mark, which `0.3.0` writes as +`!adf:carry{json="…"}`. Markdown stored from such a document reads back without the mark, or, where +the mark wrapped such nodes alone, is refused: to keep it, read the markdown with `0.2.0` and write +it with `0.3.0`, installed side by side. ## From `0.1.0` to `0.2.0` diff --git a/docs/decisions.md b/docs/decisions.md index 0d849a6..81990ad 100644 --- a/docs/decisions.md +++ b/docs/decisions.md @@ -178,7 +178,7 @@ silent drop of content: `
Title…
` is an `expand` titled by its summary, a `nestedExpand` inside another; an empty one is refused, since `expand` requires content. A `style` -attribute is not read at `0.3.0`: the `textColor` and `backgroundColor` it could reach cost more +attribute is not read at `0.4.0`: the `textColor` and `backgroundColor` it could reach cost more than they buy. The three markdown readers share one parser, so they take the same set. diff --git a/todo.md b/todo.md index c2505d2..db490b8 100644 --- a/todo.md +++ b/todo.md @@ -25,50 +25,57 @@ | ID | Release | Exempt | Item | R | S | C | A | G | Goals | Score | |---|---|---|---|---|---|---|---|---|---|---| -| 99 | 0.2.1 | defect | **Write a linked external image standing inline or in a table cell in the spelling a reader panel picks, in `adfToPortableMarkdown`.** | 3 | 3 | 5 | 6 | 7 | 7 | 12.9 | -| 100 | 0.2.1 | decision | **Put the reading of an image's title as its caption back to a reader panel, now that a writer panel reads a title as hover text.** | 3 | 3 | 3 | 4 | 5 | 4, 6 | 10.9 | -| 60 | 0.2.1 | decision | **Collect the questions `parse/` asks `emit/` into one named module.** | 3 | 4 | 4 | 2 | 6 | 2 | 10.7 | -| 59 | 0.2.1 | decision | **Group the directive grammar into `src/markdown/directive/`, move `Read` to `result.ts`, and move `Flavour` and `flavourClaims` to `markdown/flavour.ts`.** | 3 | 5 | 3 | 2 | 6 | 2 | 10.4 | -| 62 | 0.2.1 | decision | **Move the portable flavour's reading out of `parse/` and its writing out of `emit/` into `markdown/portable/`, so `emit/` no longer imports `portable/`.** | 4 | 5 | 5 | 2 | 6 | 2 | 9.4 | -| 96 | 0.2.1 | defect | **Read and write a text holding many unclosed backtick runs, or many `