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
|
913aae49ea
|
Answer stability round 1: hand every not-a-string refusal its own position
|
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
|
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
|
d912bf1c9f
|
Lead the refusals ordinary editing meets with the edit that fixes them
|
2026-10-03 15:05:36 +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
|
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
|
62ce254793
|
10f - plainMarkdownToAdf mints task localIds as UUID v4s hashed from the markdown and position
|
2026-09-29 21:47:09 +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
|
b1df7f3522
|
35a - review: an image refusal beside a marker names the line it shares, README wording, 41 filed
|
2026-09-28 22:17:22 +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
|
a7c1ffbec9
|
23 - the block directive's spellings are one file
|
2026-09-23 23:13:01 +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
|
2e7eb0501b
|
21 - the parse walk reads blocks, so no name means two things
|
2026-09-21 21:40:43 +02:00 |
|
lilleman
|
5938b63e85
|
18 - the parse keeps each node's readable spelling, so the directive ask spells it once
|
2026-09-19 13:18:33 +02:00 |
|
lilleman
|
9c0daa18d5
|
4b - the walk reports its headroom, so a list falling back to the directive form refuses at zero and the list limit stays 500
|
2026-09-18 00:34:52 +02:00 |
|
lilleman
|
bd14b25b20
|
4b - the block walk spells a list from one walk, a list and its item counting two levels in every spelling
|
2026-09-18 00:13:55 +02:00 |
|
lilleman
|
b02dea1277
|
13b - link takes the directive form where CommonMark cannot spell it, unspellable-link leaves the code list
|
2026-09-16 23:09:30 +02:00 |
|
lilleman
|
0eb2665ffe
|
12c: the block directive forms read and spell !adf: openers and closers
|
2026-09-16 15:46:52 +02:00 |
|
lilleman
|
e7d3697dc4
|
12b: the inline directive forms read and spell the !adf: prefix
|
2026-09-16 09:52:52 +02:00 |
|
lilleman
|
94d5aa1dad
|
4.1: editor-normal and the node accessors
|
2026-09-14 20:11:25 +02:00 |
|
lilleman
|
3398f31626
|
5b3: surface the refusal an inline directive body holds
|
2026-09-03 19:33:25 +02:00 |
|
lilleman
|
5f8933e432
|
5b3: merge the code list's duplicate causes, spell the list separator, claim the bare pipe table
|
2026-09-03 19:05:23 +02:00 |
|
lilleman
|
bcb6a9bd1e
|
5b2: name the violation in every error message, and the escape a claimed line takes
|
2026-09-03 17:52:31 +02:00 |
|
lilleman
|
b47aa17263
|
5b1: guarantee the parse direction's position in the type, and name it one level deeper
|
2026-09-03 17:09:14 +02:00 |
|
lilleman
|
47ca41b558
|
5b1: name the line and the offset in the input a parse refusal sits at
|
2026-09-03 14:37:39 +02:00 |
|
lilleman
|
95ed15a638
|
Charge a carried node against the levels its position leaves, and part the causes one guard hid
|
2026-09-03 08:01:27 +02:00 |
|
lilleman
|
34fd18e852
|
Read the carries and the combinations back, and land markdownToAdf
|
2026-09-03 07:01:27 +02:00 |
|
lilleman
|
ee8e1d956e
|
Answer the stability pass: the strip that changed nothing, and the words the body earns
|
2026-09-01 19:13:13 +02:00 |
|
lilleman
|
c02374a234
|
Answer the architecture pass: the list a blank line split, and the slot the seam names
|
2026-09-01 18:20:53 +02:00 |
|
lilleman
|
4688dbd2cb
|
Read the block nodes back, and stop a marker change splitting a list
|
2026-09-01 17:58:29 +02:00 |
|
lilleman
|
6f0ee2c69f
|
Answer the second stability pass: the emitter's own refusal, and the comparator's third arm
|
2026-09-01 14:34:02 +02:00 |
|
lilleman
|
329efb8b24
|
Answer the stability pass: the misleading spellings, and only the form the emitter picks
|
2026-09-01 14:13:01 +02:00 |
|
lilleman
|
7456471238
|
Answer the architecture pass: the empty {attrs}, the reserved fence and where the reader lives
|
2026-09-01 13:42:57 +02:00 |
|
lilleman
|
70398d1667
|
Read the node tables backwards, a directive to the node and marks it names
|
2026-09-01 11:09:21 +02:00 |
|
lilleman
|
52062019d5
|
Answer the architecture pass: one fault vocabulary, and the guards pinned where they compose
|
2026-09-01 10:01:35 +02:00 |
|