mirror of
https://github.com/TxtDot/dalet.git
synced 2024-11-22 04:46:23 +03:00
doc: update daletl data format
This commit is contained in:
parent
b9beffa965
commit
dfa42ae830
1 changed files with 42 additions and 6 deletions
|
@ -4,8 +4,6 @@
|
||||||
|
|
||||||
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.
|
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
|
### Root
|
||||||
|
|
||||||
Daletl root is array of tags. For convenience, we will use the json5 representation of the data.
|
Daletl root is array of tags. For convenience, we will use the json5 representation of the data.
|
||||||
|
@ -18,7 +16,11 @@ Daletl root is array of tags. For convenience, we will use the json5 representat
|
||||||
|
|
||||||
All tags specification is in [Tags](./tags.md).
|
All tags specification is in [Tags](./tags.md).
|
||||||
|
|
||||||
Each tag is array of 1-3 elements.
|
Each tag may be one of three types:
|
||||||
|
|
||||||
|
#### Data Representation
|
||||||
|
|
||||||
|
##### As array of 1-3 elements
|
||||||
|
|
||||||
1. Tag id
|
1. Tag id
|
||||||
2. Tag body (optional if argument not specified, if argument specified it must be null)
|
2. Tag body (optional if argument not specified, if argument specified it must be null)
|
||||||
|
@ -26,17 +28,17 @@ Each tag is array of 1-3 elements.
|
||||||
|
|
||||||
Tag id is integer number.
|
Tag id is integer number.
|
||||||
|
|
||||||
Body can be only a string, null, or an array of tags.
|
Body can be only a string, null, array of tags or tag (equals to array of tags with 1 tag).
|
||||||
|
|
||||||
Argument can be number or string.
|
Argument can be number or string.
|
||||||
|
|
||||||
#### Heading example
|
###### Heading example
|
||||||
|
|
||||||
```json5
|
```json5
|
||||||
[1, "This is heading", 1]
|
[1, "This is heading", 1]
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Unordered list example
|
###### Unordered list example
|
||||||
|
|
||||||
```json5
|
```json5
|
||||||
[
|
[
|
||||||
|
@ -47,3 +49,37 @@ Argument can be number or string.
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
##### As string
|
||||||
|
|
||||||
|
String becomes element tag.
|
||||||
|
|
||||||
|
```json5
|
||||||
|
"Element"
|
||||||
|
```
|
||||||
|
|
||||||
|
equals to
|
||||||
|
|
||||||
|
```json5
|
||||||
|
[0, "Element"]
|
||||||
|
```
|
||||||
|
|
||||||
|
##### As array of tags
|
||||||
|
|
||||||
|
If array not started with a number. The implication is that this turns into an “element” tag
|
||||||
|
|
||||||
|
```json5
|
||||||
|
["Element", [1, "Heading"]]
|
||||||
|
```
|
||||||
|
|
||||||
|
equals to
|
||||||
|
|
||||||
|
```json5
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
[
|
||||||
|
[0, "Element"],
|
||||||
|
[1, "Heading"],
|
||||||
|
],
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
Loading…
Add table
Reference in a new issue