table
A Markdown table. The template body shows one example row; the validator checks the generated output, not the example. Close with `endtable`.
Leaf tag · open <!-- mdv: table … --> · close <!-- mdv: endtable -->
<!-- mdv: table cols=Area,Owner,Status minRows=1 -->
| Area | Owner | Status |
| --------- | ----- | ------ |
| Warp Core | Scott | green |
<!-- mdv: endtable -->Props
| Prop | Syntax | Category | Description |
|---|---|---|---|
col | col | table | Checks constraints on named table columns; targets a table. |
cols | cols=<option> | table | Checks that a table contains the named columns, in order; extra columns are allowed (the declared columns must appear as an ordered subsequence of the headers). Pair with noExtraCols to also forbid columns outside this list. Targets a table. |
maxRows | maxRows=<option> | table | Checks that a Markdown table has at most N data rows (header + separator excluded); targets a table. |
minRows | minRows=<option> | table | Checks that a Markdown table has at least N data rows (header + separator excluded); targets a table. |
noExtraCols | noExtraCols | strictness | Rejects table header columns not listed in cols=; targets a table. |
Prop details
col
Checks constraints on named table columns; targets a table.
col · category: table · status: stable · src/rules/table/col.ts
<!-- mdv: table col.Status.oneof=open,done col.ID.unique -->
| Area | Status |
| ---- | ------ |
| Docking | done |
<!-- mdv: endtable -->cols
Checks that a table contains the named columns, in order; extra columns are allowed (the declared
columns must appear as an ordered subsequence of the headers). Pair with noExtraCols to also
forbid columns outside this list. Targets a table.
cols=<option> · category: table · status: stable · src/rules/table/cols.ts
<!-- mdv: table cols=Area,Owner,Status -->
| Area | Owner | Status |
| ---- | ----- | ------ |
| Relay | Dana | done |
<!-- mdv: endtable -->maxRows
Checks that a Markdown table has at most N data rows (header + separator excluded); targets a table.
maxRows=<option> · category: table · status: stable · src/rules/table/max-rows.ts
<!-- mdv: table maxRows=3 -->
| Area | Owner | Status |
| ---- | ----- | ------ |
| Airlock | Dana | done |
<!-- mdv: endtable -->minRows
Checks that a Markdown table has at least N data rows (header + separator excluded); targets a table.
minRows=<option> · category: table · status: stable · src/rules/table/min-rows.ts
<!-- mdv: table minRows=1 -->
| Area | Owner | Status |
| ---- | ----- | ------ |
| Reactor | Dana | done |
<!-- mdv: endtable -->noExtraCols
Rejects table header columns not listed in cols=; targets a table.
noExtraCols · category: strictness · status: stable · src/rules/table/no-extra-cols.ts
<!-- mdv: table cols=Area,Owner noExtraCols -->
| Area | Owner |
| ---- | ----- |
| Hangar | Dana |
<!-- mdv: endtable -->block
The one recursive container tag. Wraps a heading plus any prose or nested tags, and is the thing presence/body rules (`required`, `minWords`, `noPlaceholder`, …) target. Blocks nest, so a schema is an AST of blocks — close every one with its `endblock` end tag.
list
A bullet or numbered list. Constrain it with `minItems`, or hold each item to a bar with `each.falsifiable` / `each.sourced`. Close with `endlist`.