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

148 Commits

Author SHA1 Message Date
lilleman d677222050 Read an image alone on an alert's marker line or the lines after it as the image, as a reader panel expected; item 88 filed 2026-10-09 10:49:08 +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 3a41e9ccca Answer architecture round 3: a link alone holding a titled image keeps its caption, and the decision's title names []() 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 d7f2384876 Answer architecture round 1: the reader returns its refusals and owns its stack, a decision and a test keep JSON.parse out, item 83 filed, the scoring run recorded 2026-10-08 14:10:50 +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 913aae49ea Answer stability round 1: hand every not-a-string refusal its own position 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 2c4fadbd8b Refuse a markdown input that is not a string with not-a-string 2026-10-07 12:39:45 +02:00
lilleman 7da3c1fbbe Refuse an attribute value JSON does not hold, and push a folded callout's title leaves one at a time 2026-10-05 01:07:55 +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 0bc086ba43 Answer architecture round 1: a code span opening a line spells as CommonMark, the slot refuses a null character, every generated document emits 2026-10-04 20:43:46 +02:00
lilleman e040d1d3ef Spell every document the emitter refused for a carriage return, a null character, a code-span line start or an empty text node 2026-10-04 20:29:29 +02:00
lilleman bc4b65501b Reword the isBareText and adfNodes comments 2026-10-03 17:52:56 +02:00
lilleman ead2e7f4b7 Give the unmarked bare text check and the text-holding-content refusal one owner each 2026-10-03 16:22:19 +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 72f919ae04 Rename isPlainText to isBareText, apart from the plain flavour, and say truly what it admits 2026-10-03 16:19:09 +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 4409d5befc Reword the attrs=empty and language-placement refusals, quoting a language that needs it 2026-10-03 15:17:40 +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 1d6a6b0914 Name the code block wrapper in the two carry-fence refusals that lacked it 2026-10-03 15:05: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 b28c3e2590 Inline the identity blocks() helper in the plain reader tests 2026-10-03 15:04:15 +02:00
lilleman be691e56d7 Refuse attrs=empty on a code block whose fences carry its language 2026-10-03 15:03:58 +02:00
lilleman c1fe5f133e Read a carry fence's type in one function 2026-10-03 14:45:48 +02:00
lilleman 5701123943 Spell the doc directive's content=none through spellAttributes from one constant 2026-10-03 14:45:28 +02:00
lilleman 9d043924e7 Derive a block directive's empty content from its node, and let readEmptyKeys own the attrs=empty-stands-alone rule 2026-10-03 14:45:12 +02:00
lilleman 6a54757839 Spell 'a text node holding its text and marks alone' once, as isPlainText 2026-10-03 14:44:00 +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 213b7c2d3f Name the adf: fence among the carve-outs, and the way a fence stays code in its errors 2026-10-03 14:41:30 +02:00
lilleman b34f9309f4 Set up every inline scan through one freshScan 2026-10-03 14:33:06 +02:00
lilleman 767d57f8df Say only the plain writer is editor-normal, and read plain markdown in the tests without normalizing 2026-10-03 14:23:04 +02:00
lilleman 4b12951e38 Refuse a carry fence naming a type no info string carries back 2026-10-03 14:20:47 +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 ef5dc415e3 41 - review: title text keeps its own spelling, only a node without text reads as the reduction does 2026-09-30 17:01:15 +02:00
lilleman 89706a87fa 41 - review: a callout title reads its nodes as the plain reduction does, one goal reference renumbered 2026-09-30 16:57:54 +02:00
lilleman 2372ac3e6c 41 - plainMarkdownToAdf keeps a callout title's link targets; Goal 6, what happens is what the audience expects 2026-09-30 16:32:13 +02:00
lilleman 6434233b97 10f - review: a node the carry restores stays deep-equal, its ids only skipped 2026-09-29 21:51:22 +02:00
lilleman b6294f4b9f 10f - review: tests for a carried node keeping its task nodes unminted 2026-09-29 21:51:22 +02:00
lilleman 62ce254793 10f - plainMarkdownToAdf mints task localIds as UUID v4s hashed from the markdown and position 2026-09-29 21:47:09 +02:00
lilleman 7939ba2ff5 cjk - review: tests for Hangul, a long-vowel mark and a Latin word bounding a highlight 2026-09-29 18:49:37 +02:00