3
0
mirror of https://github.com/larvit/adf-codec.git synced 2026-11-13 04:08:29 +01:00
Commit Graph

68 Commits

Author SHA1 Message Date
lilleman 1ae7ba6992 Give an inline node no mark Atlassian's schema withholds from it, in every reader 2026-10-14 15:08:46 +02:00
lilleman 580bc862f2 Write an external image a link marks as [![alt](url)](href) in both writers 2026-10-11 13:31:18 +02:00
lilleman 3741b9e5b3 Answer prose round 1: the comments say why, items 95, 96, 91 and 34 read in one pass, the floor's decision drops the rule CLAUDE.md holds, and item 97 files the changelog's order 2026-10-09 19:17:20 +02:00
lilleman 3e9c56d399 Answer architecture round 3: the comprehension floor's decision names item 95, the directive read takes its index from the claimed prefix, and only the claimed prefix leaves directive-syntax.ts 2026-10-09 19:17:20 +02:00
lilleman af9b0d082c Answer architecture round 2: the escape walk owns its escapes and names every token kind, a directive read takes the claimed prefix, the reader computes one end, imports sort, and item 96 covers unclosed backtick runs 2026-10-09 19:17:20 +02:00
lilleman 652ae60179 Answer architecture round 1: a token's width is true for every kind that carries one, the escape walk threads one record, the == step and the directive precondition say why, and item 96 files the inline HTML scan 2026-10-09 19:17:20 +02:00
lilleman 59ead3e8e9 Escape a line against the inline reader's own tokens, in time linear in a run 2026-10-09 19:17:20 +02:00
lilleman 77a6806160 Answer architecture round 3: one joinsBreaks flag in place of the parted set and its retry loops, a directive link spells its break, and takesMarks names the table's field 2026-10-09 12:21:18 +02:00
lilleman e4364b19d0 Answer prose round 1: plainer decision title and spec, the refusal the spec owes, and comments that say why 2026-10-09 12:21:18 +02:00
lilleman 06c225f8f4 Keep the hard breaks a link text holds alone, after its destination, and move item 89 to 0.2.1 2026-10-09 12:21:18 +02:00
lilleman 852d010ff7 Answer product-owner round 1: an emphasis or link run spans an unmarked hard break, the recipe drops a hard break's marks, and the refusal names hard breaks 2026-10-09 12:21:18 +02:00
lilleman 2ca5ac41e6 Answer architecture round 1: the node table says a hard break takes no marks, and a link text of hard breaks alone reads as its destination 2026-10-09 12:21:18 +02:00
lilleman 3ff5c95f4c Build a hardBreak carrying no marks where a mark spelling spans a line break, in every reader 2026-10-09 12:21:18 +02:00
lilleman ee3086ad1e Answer prose round 1: one sentence per idea for the image readings, a decision title that states the rule, item 86 names its shapes 2026-10-09 10:49:08 +02:00
lilleman 050364dbdc Answer stability round 2: a link slot keeps a linked image linked, so the link-in-link refusal holds 2026-10-09 10:49:08 +02:00
lilleman d97c5c2935 Answer stability round 1: an !adf:link slot reads an image as plain alt text 2026-10-09 10:49:08 +02:00
lilleman 88aef1c8c4 Answer architecture round 1: one owner for the image's ADF shape, the readings' decision, marker paragraphs, the exceptions the README names; items 87 filed and 56 widened 2026-10-09 10:49:08 +02:00
lilleman 3b621a9cef Read every CommonMark image and empty link: an image ADF holds no node for as its linked alt text, a title as its caption, an empty link text as its destination 2026-10-09 10:49:08 +02:00
lilleman 23ec45febd Give each markdown input its own reader: commonMarkToAdf, losslessMarkdownToAdf and portableMarkdownToAdf, each claiming only its flavour 2026-10-09 03:08:39 +02:00
lilleman 380a894589 Answer prose round 1: one name per thing in the new docs, the changelog points at MIGRATION's rows, item 82 drops its partial file list 2026-10-07 12:39:45 +02:00
lilleman a62cd39809 Answer architecture round 2: rename isBareText to isSpellableText, say which link holdsLink counts, the README names the type passed 2026-10-07 12:39:45 +02:00
lilleman 41ac4510f5 Answer architecture round 1: name a non-string by typeof alone, name and comment what the seats could not read, file items 81 and 82 2026-10-07 12:39:45 +02:00
lilleman 1b55e0f528 Answer prose round 3: the comments on highlight pairing, escaped backtick lengths and the memo read once, and the Raw HTML paragraph loses its half clause 2026-10-04 23:36:47 +02:00
lilleman 1ff27164f8 Answer architecture round 2: the spelling memo, headroom and the escaped backtick lengths state their rule at the code, and the highlight counter is named for what it counts 2026-10-04 23:36:47 +02:00
lilleman bc4b65501b Reword the isBareText and adfNodes comments 2026-10-03 17:52:56 +02:00
lilleman 85f1063c7b Name the reader's own-marks items for what they hold, and drop the carry flag the items already say 2026-10-03 16:21:49 +02:00
lilleman 4e6a4b5ac4 Name the two text-joining rules for whose rule they are, side by side in adjacent-text.ts 2026-10-03 15:51:41 +02:00
lilleman acc8227598 Gather the plain flavour's code in markdown/plain/ 2026-10-03 15:50:24 +02:00
lilleman 91879d01b1 Lead the code block, empty-key, carry fence, text break and carry-in-mark refusals with their fix 2026-10-03 15:12:51 +02:00
lilleman d912bf1c9f Lead the refusals ordinary editing meets with the edit that fixes them 2026-10-03 15:05:36 +02:00
lilleman 05c1728173 Hold a carried node's own marks on the item, not in a side set copies fall out of 2026-10-03 14:43:03 +02:00
lilleman b34f9309f4 Set up every inline scan through one freshScan 2026-10-03 14:33:06 +02:00
lilleman b78d841b34 Carry the text break as its own item, not a fake node, and check it where the outermost content resolves 2026-10-03 14:19:55 +02:00
lilleman 3aa693d2a1 Keep one merge loop and one mark key: editor-normal compares normalized marks with identicalMark 2026-10-03 14:17:22 +02:00
lilleman 039aac8873 Make markdownToAdf(adfToMarkdown(doc)) deep-equal doc: textBreak, empty keys, -0, typed carry fences, code blocks of several text nodes 2026-10-03 12:25:01 +02:00
lilleman 89911a501c 35b - the writer spells the plain flavour and escapes text that would read as its markers 2026-09-29 11:42:46 +02:00
lilleman 189f6d96a7 35a - review: a title keeps its ==, an image beside a marker is refused as before 2026-09-28 22:12:58 +02:00
lilleman 1d7797bbdc 35a - the parser reads the plain flavour and the lift goes 2026-09-28 22:02:55 +02:00
lilleman 86c80fe40e 36b - §8, §9 and §14's decisions move to docs/decisions.md 2026-09-28 03:54:34 +02:00
lilleman a52ec5a73d 22 - the line container is markdown's, so the seam is the two spelling asks 2026-09-21 22:15:27 +02:00
lilleman fb48a5da6b 21 - the table's row is the node's model, never the node 2026-09-21 21:45:11 +02:00
lilleman 4036b677ed 21 - the ADF tables carry ADF's nouns 2026-09-21 21:39:59 +02:00
lilleman dd612b85c4 Pin the deactivation where an image close folds the evidence away 2026-09-19 02:31:03 +02:00
lilleman ff59d737c4 Literal brackets put nothing inside a mark, so the nested-link check runs ahead of both guards 2026-09-19 02:21:38 +02:00
lilleman 508851b953 Review nits: the walk's start needs no clamp, and the invariant needs one copy 2026-09-19 02:15:15 +02:00
lilleman 29bb0a29f6 Pin what the doomed openers keep: the carry and the image literal brackets hold 2026-09-19 02:09:19 +02:00
lilleman 50200bcc18 Review nits: deactivate the openers a nested link dooms, and pin the refusal order 2026-09-19 02:02:01 +02:00
lilleman 0f79dac6ec 16 - no link wraps a link: the outer brackets go literal, the directive form is refused 2026-09-19 01:48:30 +02:00
lilleman 220cf31db2 15 - refuse the directive link spelling no href, so the mark has one spelling 2026-09-18 23:08:34 +02:00
lilleman 2ae9dcfb24 AGENTS.md §11: a sort keys on the name a line introduces, so an import sorts on its first binding 2026-09-18 23:03:13 +02:00