# page.corvus.document

> Published by [corvus.page](https://lexicon.garden/identity/did:plc:3qc4cbzcriye72qqqodeda26)

✓ This is the authoritative definition for this NSID.

## Description

A collection of text formatting document blocks

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:3qc4cbzcriye72qqqodeda26/page.corvus.document)
- [Documentation](https://lexicon.garden/lexicon/did:plc:3qc4cbzcriye72qqqodeda26/page.corvus.document/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:3qc4cbzcriye72qqqodeda26/page.corvus.document/examples)

## Definitions

### `page.corvus.document`

**Type**: `object`

A collection of text formatted document blocks

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `icon` | `ref` → `page.corvus.core#register` | No | The icon of the document |
| `title` | `ref` → `page.corvus.core#sequence` | No | The title of the document |
| `blockId` | `string` (at-uri) | Yes | The AT-URI of this block record |
| `content` | `ref` → `page.corvus.core#register` | No | The block containing the content of the document |
| `children` | `ref` → `page.corvus.core#sequence` | No | The children of the document, turning this into a folder tree |

### `page.corvus.document#prose`

**Type**: `object`

A prose document block

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `text` | `ref` → `page.corvus.core#sequence` | No | The text content of the paragraph |
| `facets` | `ref` → `page.corvus.core#set` | No | The facets applied to the text |
| `blockId` | `string` (at-uri) | Yes | The AT-URI of this block record |
| `fontSize` | `ref` → `page.corvus.core#register` | No | The font size of the text |
| `fontWeight` | `ref` → `page.corvus.core#register` | No | The font weight of the text |

### `page.corvus.document#heading`

**Type**: `object`

A heading block

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `text` | `ref` → `page.corvus.core#sequence` | No | The text content of the heading |
| `level` | `ref` → `page.corvus.core#register` | No | The level of the heading - defaults to 1 |
| `blockId` | `string` (at-uri) | Yes | The AT-URI of this block record |

### `page.corvus.document#footnote`

**Type**: `object`

A footnote block

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `from` | `ref` → `page.corvus.core#set` | No | The set of footnote references, one of #blockFootnoteReference, #sequenceFootnoteReference, #registerFootnoteReference or #orSetFootnoteReference |
| `blockId` | `string` (at-uri) | Yes | The AT-URI of this block record |
| `content` | `ref` → `page.corvus.core#register` | No | A block id of the footnote content |

### `page.corvus.document#blockQuote`

**Type**: `object`

A block quote block

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `text` | `ref` → `page.corvus.core#sequence` | No | The text content of the block quote |
| `facets` | `ref` → `page.corvus.core#set` | No | The facets applied to the text |
| `blockId` | `string` (at-uri) | Yes | The AT-URI of this block record |
| `fontSize` | `ref` → `page.corvus.core#register` | No | The font size of the text |
| `fontWeight` | `ref` → `page.corvus.core#register` | No | The font weight of the text |

### `page.corvus.document#orderedList`

**Type**: `object`

An ordered list block

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blockId` | `string` (at-uri) | Yes | The AT-URI of this block record |
| `children` | `ref` → `page.corvus.core#sequence` | No | The children of the list |
| `listStyle` | `ref` → `page.corvus.core#register` | No | The style of the list - defaults to 'decimal' |

### `page.corvus.document#blockDisplay`

**Type**: `object`

A block display

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blockId` | `string` (at-uri) | Yes | The AT-URI of this block record |
| `children` | `ref` → `page.corvus.core#sequence` | No | The child block id to display vertically |

### `page.corvus.document#inlineDisplay`

**Type**: `object`

An inline display

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blockId` | `string` (at-uri) | Yes | The AT-URI of this block record |
| `children` | `ref` → `page.corvus.core#sequence` | No | The child block id to display inline |

### `page.corvus.document#unorderedList`

**Type**: `object`

An unordered list block

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blockId` | `string` (at-uri) | Yes | The AT-URI of this block record |
| `children` | `ref` → `page.corvus.core#sequence` | No | The children of the list |
| `listStyle` | `ref` → `page.corvus.core#register` | No | The style of the list - defaults to 'bullet' |

### `page.corvus.document#horizontalRule`

**Type**: `object`

A horizontal rule block

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blockId` | `string` (at-uri) | Yes | The AT-URI of this block record |

### `page.corvus.document#tableOfContents`

**Type**: `object`

A table of contents block

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blockId` | `string` (at-uri) | Yes | The AT-URI of this block record |
| `maxDepth` | `ref` → `page.corvus.core#register` | No | The maximum depth of the table of contents - defaults to 6 |

### `page.corvus.document#blockFootnoteReference`

**Type**: `object`

A footnote reference to a block

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blockId` | `string` (at-uri) | Yes | The URI of the block that contains the footnote reference |

### `page.corvus.document#orSetFootnoteReference`

**Type**: `object`

A footnote reference to an OR-set

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `orSet` | `string` | Yes | The or set of the footnote reference |
| `blockId` | `string` (at-uri) | Yes | The URI of the block that contains the footnote reference |
| `valueOp` | `string` | Yes | The operation id of the referenced value |

### `page.corvus.document#registerFootnoteReference`

**Type**: `object`

A footnote reference to a register

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blockId` | `string` (at-uri) | Yes | The URI of the block that contains the footnote reference |
| `valueOp` | `string` | Yes | The operation id of the referenced value |
| `register` | `string` | Yes | The register of the footnote reference |

### `page.corvus.document#sequenceFootnoteReference`

**Type**: `object`

A footnote reference to a sequence

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `atomEnd` | `string` | Yes | The end atom id of the facet (inclusive) - formatted as `operationId.atomIdx` |
| `blockId` | `string` (at-uri) | Yes | The URI of the block that contains the footnote reference |
| `sequence` | `string` | Yes | The sequence of the footnote reference |
| `atomStart` | `string` | Yes | The start atom id of the facet (inclusive) - formatted as `operationId.atomIdx` |

## Raw Schema

```json
{
  "id": "page.corvus.document",
  "defs": {
    "main": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "icon": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "The icon of the document"
        },
        "title": {
          "ref": "page.corvus.core#sequence",
          "type": "ref",
          "description": "The title of the document"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "content": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "The block containing the content of the document"
        },
        "children": {
          "ref": "page.corvus.core#sequence",
          "type": "ref",
          "description": "The children of the document, turning this into a folder tree"
        }
      },
      "description": "A collection of text formatted document blocks"
    },
    "prose": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "text": {
          "ref": "page.corvus.core#sequence",
          "type": "ref",
          "description": "The text content of the paragraph"
        },
        "facets": {
          "ref": "page.corvus.core#set",
          "type": "ref",
          "description": "The facets applied to the text"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "fontSize": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "The font size of the text"
        },
        "fontWeight": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "The font weight of the text"
        }
      },
      "description": "A prose document block"
    },
    "heading": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "text": {
          "ref": "page.corvus.core#sequence",
          "type": "ref",
          "description": "The text content of the heading"
        },
        "level": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "The level of the heading - defaults to 1"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        }
      },
      "description": "A heading block"
    },
    "footnote": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "from": {
          "ref": "page.corvus.core#set",
          "type": "ref",
          "description": "The set of footnote references, one of #blockFootnoteReference, #sequenceFootnoteReference, #registerFootnoteReference or #orSetFootnoteReference"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "content": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "A block id of the footnote content"
        }
      },
      "description": "A footnote block"
    },
    "blockQuote": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "text": {
          "ref": "page.corvus.core#sequence",
          "type": "ref",
          "description": "The text content of the block quote"
        },
        "facets": {
          "ref": "page.corvus.core#set",
          "type": "ref",
          "description": "The facets applied to the text"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "fontSize": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "The font size of the text"
        },
        "fontWeight": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "The font weight of the text"
        }
      },
      "description": "A block quote block"
    },
    "orderedList": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "children": {
          "ref": "page.corvus.core#sequence",
          "type": "ref",
          "description": "The children of the list"
        },
        "listStyle": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "The style of the list - defaults to 'decimal'"
        }
      },
      "description": "An ordered list block"
    },
    "blockDisplay": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "children": {
          "ref": "page.corvus.core#sequence",
          "type": "ref",
          "description": "The child block id to display vertically"
        }
      },
      "description": "A block display"
    },
    "inlineDisplay": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "children": {
          "ref": "page.corvus.core#sequence",
          "type": "ref",
          "description": "The child block id to display inline"
        }
      },
      "description": "An inline display"
    },
    "unorderedList": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "children": {
          "ref": "page.corvus.core#sequence",
          "type": "ref",
          "description": "The children of the list"
        },
        "listStyle": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "The style of the list - defaults to 'bullet'"
        }
      },
      "description": "An unordered list block"
    },
    "horizontalRule": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        }
      },
      "description": "A horizontal rule block"
    },
    "tableOfContents": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "maxDepth": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "The maximum depth of the table of contents - defaults to 6"
        }
      },
      "description": "A table of contents block"
    },
    "blockFootnoteReference": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the block that contains the footnote reference"
        }
      },
      "description": "A footnote reference to a block"
    },
    "orSetFootnoteReference": {
      "type": "object",
      "required": [
        "blockId",
        "orSet",
        "valueOp"
      ],
      "properties": {
        "orSet": {
          "type": "string",
          "description": "The or set of the footnote reference"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the block that contains the footnote reference"
        },
        "valueOp": {
          "type": "string",
          "description": "The operation id of the referenced value"
        }
      },
      "description": "A footnote reference to an OR-set"
    },
    "registerFootnoteReference": {
      "type": "object",
      "required": [
        "blockId",
        "register",
        "valueOp"
      ],
      "properties": {
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the block that contains the footnote reference"
        },
        "valueOp": {
          "type": "string",
          "description": "The operation id of the referenced value"
        },
        "register": {
          "type": "string",
          "description": "The register of the footnote reference"
        }
      },
      "description": "A footnote reference to a register"
    },
    "sequenceFootnoteReference": {
      "type": "object",
      "required": [
        "blockId",
        "sequence",
        "atomStart",
        "atomEnd"
      ],
      "properties": {
        "atomEnd": {
          "type": "string",
          "description": "The end atom id of the facet (inclusive) - formatted as `operationId.atomIdx`"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the block that contains the footnote reference"
        },
        "sequence": {
          "type": "string",
          "description": "The sequence of the footnote reference"
        },
        "atomStart": {
          "type": "string",
          "description": "The start atom id of the facet (inclusive) - formatted as `operationId.atomIdx`"
        }
      },
      "description": "A footnote reference to a sequence"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "A collection of text formatting document blocks"
}
```
