Schemas / Story (semantic copy)
rig.story.paragraph
v0.31.0 · draft 3 fields 1 required
Fields
| Field | Type | Meaning | |
|---|---|---|---|
style |
entity | optional | Optional. rig.story.paragraph_style; absent = no paragraph style |
breakType |
enumcolumn · page | optional | Optional. column or page - break after this paragraph. Absent = next paragraph |
runs |
array<object> | required | Ordered character runs; empty is a blank paragraph |
One paragraph in a rig.story.flow (or a table cell). Format when present.
An applied paragraph style, optional column/page break, then character runs. A trailing paragraph break is implied - do not store a sentinel run for it.
Line breaks inside a paragraph are \n in text. Column and page breaks are breakType, not a run.
Run
Semantics only: a run is text plus a style identity. Bold, italic, underline, strike, super/sub, font, size, and colour are not fields here. Unstyled local emphasis becomes a named character style. Nested emphasis is a distinct style that basedOn the outer one.
Do not put a URL here - a hyperlink is a character style identity; the href is fulfillment.
JSON Schema
Resolves at https://rig.works/schemas/rig.story.paragraph.schema.json —
raw file.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://rig.works/schemas/rig.story.paragraph.schema.json",
"title": "rig.story.paragraph",
"type": "object",
"additionalProperties": false,
"properties": {
"style": {
"$ref": "./_defs.schema.json#/$defs/entity"
},
"breakType": {
"type": "string",
"enum": [
"column",
"page"
]
},
"runs": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"text"
],
"properties": {
"text": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"style": {
"$ref": "./_defs.schema.json#/$defs/entity"
}
}
}
}
},
"required": [
"runs"
]
}