lilleman
|
cd34dbecc2
|
Keep the link-opener scan out of emitted syntax, which binds first
|
2026-08-26 23:53:18 +02:00 |
|
lilleman
|
f09ce7fb15
|
Say only what the escape rule pins, and drop the reason a link destination disproves
|
2026-08-26 23:45:42 +02:00 |
|
lilleman
|
2ebaeedfc9
|
Escape the quoted attribute value, and pin the canonical form and the pipe cell's edges
|
2026-08-26 23:27:29 +02:00 |
|
lilleman
|
b5ae6af374
|
Tick 2e2
|
2026-08-26 23:05:36 +02:00 |
|
lilleman
|
2015c9813f
|
Pin the link mark's two error codes, and correct what the unspellable corpus holds
|
2026-08-26 23:04:41 +02:00 |
|
lilleman
|
9ef7ef5099
|
Tick 2e1
|
2026-08-26 22:30:01 +02:00 |
|
lilleman
|
2a5c848e81
|
Hold the lazy-continuation fence, and fault a colon run that closes nothing
|
2026-08-26 22:29:02 +02:00 |
|
lilleman
|
b0c7066810
|
Corpus 2e1: the carve-out escapes, the claimed line, and the 2e split
|
2026-08-26 22:14:06 +02:00 |
|
lilleman
|
3ef18b277d
|
Carry a known node standing where no section spells it
|
2026-08-26 21:50:03 +02:00 |
|
lilleman
|
2f7fca3f45
|
Settle the block attribute sections, and record the misplaced-node question
|
2026-08-26 20:45:44 +02:00 |
|
lilleman
|
e6f8f8aa52
|
Tick 2d
|
2026-08-26 16:55:30 +02:00 |
|
lilleman
|
5da0a3afdd
|
Widen the carry's spec trigger to the position, and name the raw attribute value 2e must escape
|
2026-08-26 16:40:15 +02:00 |
|
lilleman
|
62da0c7082
|
Say what the emitter actually refuses, and pin the carry in the wrappers that rewrite its lines
|
2026-08-26 16:21:58 +02:00 |
|
lilleman
|
50a2395571
|
Keep the reserved info string beside the fence it spells, and one fenced-block spelling for both
|
2026-08-26 15:57:45 +02:00 |
|
lilleman
|
964e13c167
|
Emitter 2d: the opaque carry in both positions and the reserved info string
|
2026-08-26 15:46:02 +02:00 |
|
lilleman
|
8ef5440dc6
|
Tick 2c
|
2026-08-26 09:49:12 +02:00 |
|
lilleman
|
4ac53ff048
|
Settle one failure policy for the trial spellings, and lift the attribute vocabulary above the markdown layer
|
2026-08-26 09:19:43 +02:00 |
|
lilleman
|
e8ac61e306
|
Tick 2b
|
2026-08-25 16:20:44 +02:00 |
|
lilleman
|
7fa94e27b3
|
Bind the pipe guard and the attribute vocabulary to the milestones that inherit them
|
2026-08-25 16:19:58 +02:00 |
|
lilleman
|
e1a5d08dea
|
Refuse the pipe form where a link hides a pipe, and fall back to the directive form for every image CommonMark cannot spell
|
2026-08-25 16:12:56 +02:00 |
|
lilleman
|
8993518ede
|
Narrow the error-code rule to what it forbids, and name the fence rule instead of quoting it
|
2026-08-25 15:43:30 +02:00 |
|
lilleman
|
ac507b8782
|
Carry the fence depth through blockquotes and lists, and split the block spelling from it
|
2026-08-25 15:33:24 +02:00 |
|
lilleman
|
9c1fb215c4
|
Emitter 2b: the block-node directives, the pipe table and the refusal corpus
|
2026-08-25 15:10:02 +02:00 |
|
lilleman
|
6b96069d79
|
Tick 2a
|
2026-08-25 10:04:17 +02:00 |
|
lilleman
|
474ea54b0e
|
Refuse the nested lists a tight spelling swallows, and name the mark that failed
|
2026-08-25 10:02:22 +02:00 |
|
lilleman
|
6a1a17d01b
|
Escape the literals that would merge with the syntax beside them
|
2026-08-25 09:28:09 +02:00 |
|
lilleman
|
e03a351d45
|
Share the CommonMark grammar, close the guard's hole, refuse the lists no marker spells
|
2026-08-24 16:18:47 +02:00 |
|
lilleman
|
3f73497a6f
|
Emitter 2a: the corpus runner, the canonical serializer and the CommonMark subset
|
2026-08-24 15:36:05 +02:00 |
|
lilleman
|
d0fcdf596c
|
Tick 1d3
|
2026-08-24 14:41:08 +02:00 |
|
lilleman
|
a49f45884f
|
Pin the mark run and a line break's whitespace edges
|
2026-08-24 14:39:18 +02:00 |
|
lilleman
|
b426653f01
|
Tick 1d2
|
2026-08-24 14:07:03 +02:00 |
|
lilleman
|
344282cf84
|
Scope block separation around lists, guard media marks, and keep the corpus editor-authorable
|
2026-08-24 13:55:21 +02:00 |
|
lilleman
|
4525408796
|
Pin block separation, the image guard's media, and the attribute and boundary cases the corpus missed
|
2026-08-24 13:33:04 +02:00 |
|
lilleman
|
50f49f3b64
|
Tick 1d1
|
2026-08-24 12:54:10 +02:00 |
|
lilleman
|
bd34229f91
|
Scope the trailing-whitespace and escaping-scan rules, name the totality gap
|
2026-08-24 12:52:38 +02:00 |
|
lilleman
|
fc92bf8bf5
|
Corpus by contract kind: pin the fence and escaping rules, hold two questions
|
2026-08-24 11:40:11 +02:00 |
|
lilleman
|
7195cd9f49
|
Corpus 1d1: the canonical-form pairs, and the 1d split
|
2026-08-24 11:21:57 +02:00 |
|
lilleman
|
be82d75014
|
Tick 1c
|
2026-08-24 11:08:57 +02:00 |
|
lilleman
|
13686b01c6
|
Pin the code-span and strikethrough grammars, break mark runs at a carry
|
2026-08-24 10:24:17 +02:00 |
|
lilleman
|
75f03f74df
|
Quote the dotted extensionType, unconditional panel attrs, single image-gap ground
|
2026-08-24 09:38:04 +02:00 |
|
lilleman
|
af146a5425
|
Pin the pipe-escape reading, enumerate the image gap, move the empty-key rule to §2
|
2026-08-24 09:30:27 +02:00 |
|
lilleman
|
1676da4725
|
Flavour spec 1b: block node syntaxes
|
2026-08-24 09:15:29 +02:00 |
|
lilleman
|
f0a3db3004
|
Close the stability round's contract holes: block claiming, unspellable states, carve-out qualifiers, deep-equal domain
|
2026-08-24 00:36:48 +02:00 |
|
lilleman
|
a4e5718a87
|
Close the grammar's contract holes from the architecture review
|
2026-08-24 00:23:43 +02:00 |
|
lilleman
|
ae519e233e
|
Flavour spec 1a: the directive grammar, canonical form, opaque carry
|
2026-08-24 00:15:26 +02:00 |
|
lilleman
|
a5f87e4204
|
Name the build in milestone 5, run CI containers as the host user
|
2026-08-23 23:55:13 +02:00 |
|
lilleman
|
4398fe580f
|
Scaffold: package contract, docker CI gate, Renovate
|
2026-08-23 23:49:35 +02:00 |
|
lilleman
|
61d6fca105
|
Extend prose-minimum rule to all markdown files and apply it to the docs
|
2026-08-23 23:20:46 +02:00 |
|
lilleman
|
f8d43075a2
|
Settle goals, guarantees, HTML scope and release automation in the spec docs
|
2026-08-23 23:09:06 +02:00 |
|
lilleman
|
07ec80efc5
|
Write down what the converter must be, before any of it is built
|
2026-08-23 17:32:17 +02:00 |
|