dalet/specification/daletl.md

50 lines
878 B
Markdown
Raw Normal View History

# Daletl specification for Dalet v1.0-preview
## Data format
Daletl must be serialized as [MessagePack](https://github.com/msgpack/msgpack/blob/master/spec.md). All data transfer between server and client is done in this format.
## Data representation
### Root
Daletl root is array of tags. For convenience, we will use the json5 representation of the data.
```json5
[]
```
### Tag
All tags specification is in [Tags](./tags.md).
Each tag is array of 1-3 elements.
1. Tag id
2. Tag body (optional if argument not specified, if argument specified it must be null)
3. Tag argument (optional)
Tag id is integer number.
Body can be only a string, null, or an array of tags.
Argument can be number or string.
#### Heading example
```json5
[1, "This is heading", 1]
```
#### Unordered list example
```json5
[
4,
[
[0, "Item 1"],
[0, "Item 2"],
],
]
```