Data Type [[data_type: SyntaxConcept]]SyntaxConcept
- dependsField
Description [[description: text]]textYAML Block SyntaxConcept 73%Parse Command 73%Syntax Syntax 73%
QMD.md supports these primitive data types: string, number, boolean, null. Type auto-detection rules determine how field values are parsed.
Syntax [[syntax: text]]textCommon Errors NarrativeDoc 75%Syntax Syntax 73%
Type auto-detection rules (applied to field values):
true|false→ Boolean (lowercase only)nullor empty value after colon → Null- Integer, float, or scientific notation → Number
- Everything else → String
NOT supported: yes, no, True, FALSE (for unambiguity)
Forcing string type: use quotes "123" to prevent number parsing.
Empty string requires quotes: - field: "" (without quotes, empty value = null).
Primitives [[primitives: text]]textArray SyntaxConcept 75%Syntax Syntax 73%Parser Microtests TestSuite 71%
- String: text values. Quotes optional for simple strings. Required in YAML arrays for values with spaces/commas.
- Number: integer or float. Supports negative numbers and scientific notation (
1.5e10). - Boolean:
trueorfalseonly (lowercase).True,FALSE,yes,noare strings. - Null: keyword
nullor empty value after colon (- field:). - Array: ordered list of primitives or objects. Two syntaxes: YAML notation and Markdown lists.
- Object: nested structure with fields. Created via subheadings — result is a separate object + reference in parent. Everything is flat: array of objects +
[[#id]]references. - Map: flat string dictionary (str→str). Defined via
[[field: map]]. No type auto-detection — all values stored as strings.
Map Type [[map_type: text]]textInvalid Map Content ValidationError 75%Syntax Syntax 72%Invalid Map Entry ValidationError 72%
The map type is a flat dictionary str→str. Defined via [[field: map]] heading syntax. Type auto-detection is NOT applied: all values are stored as strings. true, false, null, numbers — everything remains a string.
### env [[env: map]]
- port: 8080
- debug: true
- count: null
- description:
Result: {"port": "8080", "debug": "true", "count": "null", "description": ""}.
Map supports multiline values via YAML pipe syntax |.
Rules [[rules: text]]textCommon Errors NarrativeDoc 77%Invalid Map Content ValidationError 69%Syntax Syntax 68%
- Type detection is case-sensitive: only lowercase
true,false,nullare recognized - Quoted values are always strings regardless of content
- Empty value after colon = null; empty string requires quotes
- Map fields accept only bullet lists with
- key: valuepairs - Invalid map entries generate
invalid_map_entryerror - Non-bullet content in map fields generates
invalid_map_contenterror