# support.supper.content

> Published by [supper.support](https://lexicon.garden/identity/did:plc:mcsqdltevtjpu26xthzzmm2l)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:mcsqdltevtjpu26xthzzmm2l/support.supper.content)
- [Documentation](https://lexicon.garden/lexicon/did:plc:mcsqdltevtjpu26xthzzmm2l/support.supper.content/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:mcsqdltevtjpu26xthzzmm2l/support.supper.content/examples)

## Definitions

### `support.supper.content#aspectRatio`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `height` | `integer` | Yes |  |
| `width` | `integer` | Yes |  |

### `support.supper.content#blueskyPost`

**Type**: `object`

Exact public app.bsky.feed.post record with a DID-authority AT URI and CID. Readers verify collection and revision. This reference grants no access; unavailable records remain unavailable.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `ref` | `ref` → `com.atproto.repo.strongRef` | Yes |  |

### `support.supper.content#bulletList`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `items` | `array` | Yes |  |

### `support.supper.content#code`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `language` | `string` | No |  |
| `plaintext` | `string` | Yes |  |

### `support.supper.content#divider`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|

### `support.supper.content#embed`

**Type**: `object`

An external media link. Readers may render a safe link instead of a player.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `kind` | `string` | Yes |  |
| `provider` | `string` | Yes |  |
| `url` | `string` (uri) | Yes | Canonical public provider URL, never iframe HTML, credentials or private media. A reader validates its own provider allowlist and derives the player URL. |

### `support.supper.content#heading`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `alignment` | `string` | No |  |
| `facets` | `array` | No |  |
| `level` | `integer` | Yes |  |
| `plaintext` | `string` | Yes |  |
| `textSize` | `string` | No |  |

### `support.supper.content#image`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `alignment` | `string` | No |  |
| `alt` | `string` | Yes | Image description; empty if none supplied. |
| `aspectRatio` | `ref` → `#aspectRatio` | No |  |
| `caption` | `string` | No |  |
| `fullBleed` | `boolean` | No |  |
| `image` | `blob` | Yes | Canonical blob in the enclosing document author repository, not a delivery/cache URL. |
| `layout` | `string` | No |  |
| `link` | `string` (uri) | No | Optional absolute HTTP(S) link around the image. Full bleed requires scale 100 and break layout; inline layout requires left or right alignment. |
| `scale` | `integer` | No | Percentage of available content width; readers may adapt for narrow screens. |

### `support.supper.content#listItem`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blocks` | `array` | Yes |  |

### `support.supper.content`

**Type**: `object`

Portable Supper rich content embedded in site.standard.document.content; this is not a repository record. Metadata, author, title, dates and plaintext fallback belong to the enclosing Standard Site document. At most 5000 total blocks/list items, 32 nesting levels and 800000 UTF-8 bytes in the JSON body. Unknown blocks must fall back to the enclosing textContent, never silently imply a complete rendering. Contains no editor state, local asset IDs, storage keys, private URLs or access grants.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blocks` | `array` | Yes |  |

### `support.supper.content#orderedList`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `items` | `array` | Yes |  |
| `start` | `integer` | No |  |

### `support.supper.content#paragraph`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `alignment` | `string` | No |  |
| `facets` | `array` | No |  |
| `plaintext` | `string` | Yes |  |
| `textSize` | `string` | No |  |

### `support.supper.content#poll`

**Type**: `object`

Exact public support.supper.poll.poll record with a DID-authority AT URI and CID. Readers verify collection and revision. This reference grants no access; unavailable records remain unavailable.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `ref` | `ref` → `com.atproto.repo.strongRef` | Yes |  |

### `support.supper.content#quote`

**Type**: `object`

Nested blocks preserve paragraph boundaries and formatting.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blocks` | `array` | Yes |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "aspectRatio": {
      "properties": {
        "height": {
          "maximum": 20000,
          "minimum": 1,
          "type": "integer"
        },
        "width": {
          "maximum": 20000,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "width",
        "height"
      ],
      "type": "object"
    },
    "blueskyPost": {
      "description": "Exact public app.bsky.feed.post record with a DID-authority AT URI and CID. Readers verify collection and revision. This reference grants no access; unavailable records remain unavailable.",
      "properties": {
        "ref": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        }
      },
      "required": [
        "ref"
      ],
      "type": "object"
    },
    "bulletList": {
      "properties": {
        "items": {
          "items": {
            "ref": "#listItem",
            "type": "ref"
          },
          "maxLength": 5000,
          "type": "array"
        }
      },
      "required": [
        "items"
      ],
      "type": "object"
    },
    "code": {
      "properties": {
        "language": {
          "maxLength": 64,
          "type": "string"
        },
        "plaintext": {
          "maxLength": 800000,
          "type": "string"
        }
      },
      "required": [
        "plaintext"
      ],
      "type": "object"
    },
    "divider": {
      "properties": {},
      "type": "object"
    },
    "embed": {
      "description": "An external media link. Readers may render a safe link instead of a player.",
      "properties": {
        "kind": {
          "knownValues": [
            "audio",
            "video"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "provider": {
          "knownValues": [
            "plyr",
            "youtube",
            "streamplace"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "url": {
          "description": "Canonical public provider URL, never iframe HTML, credentials or private media. A reader validates its own provider allowlist and derives the player URL.",
          "format": "uri",
          "maxLength": 8000,
          "type": "string"
        }
      },
      "required": [
        "url",
        "kind",
        "provider"
      ],
      "type": "object"
    },
    "heading": {
      "properties": {
        "alignment": {
          "knownValues": [
            "left",
            "center",
            "right",
            "justify"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "facets": {
          "items": {
            "ref": "support.supper.richtext.facet",
            "type": "ref"
          },
          "maxLength": 5000,
          "type": "array"
        },
        "level": {
          "maximum": 6,
          "minimum": 1,
          "type": "integer"
        },
        "plaintext": {
          "maxLength": 800000,
          "type": "string"
        },
        "textSize": {
          "knownValues": [
            "small",
            "default",
            "large"
          ],
          "maxLength": 64,
          "type": "string"
        }
      },
      "required": [
        "plaintext",
        "level"
      ],
      "type": "object"
    },
    "image": {
      "properties": {
        "alignment": {
          "knownValues": [
            "left",
            "center",
            "right"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "alt": {
          "description": "Image description; empty if none supplied.",
          "maxLength": 8000,
          "type": "string"
        },
        "aspectRatio": {
          "ref": "#aspectRatio",
          "type": "ref"
        },
        "caption": {
          "maxLength": 8000,
          "type": "string"
        },
        "fullBleed": {
          "type": "boolean"
        },
        "image": {
          "accept": [
            "image/*"
          ],
          "description": "Canonical blob in the enclosing document author repository, not a delivery/cache URL.",
          "maxSize": 1000000,
          "type": "blob"
        },
        "layout": {
          "knownValues": [
            "break",
            "inline"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "link": {
          "description": "Optional absolute HTTP(S) link around the image. Full bleed requires scale 100 and break layout; inline layout requires left or right alignment.",
          "format": "uri",
          "maxLength": 8000,
          "type": "string"
        },
        "scale": {
          "description": "Percentage of available content width; readers may adapt for narrow screens.",
          "maximum": 100,
          "minimum": 10,
          "type": "integer"
        }
      },
      "required": [
        "image",
        "alt"
      ],
      "type": "object"
    },
    "listItem": {
      "properties": {
        "blocks": {
          "items": {
            "closed": false,
            "refs": [
              "#paragraph",
              "#heading",
              "#quote",
              "#bulletList",
              "#orderedList",
              "#code",
              "#divider",
              "#image",
              "#embed",
              "#blueskyPost",
              "#poll"
            ],
            "type": "union"
          },
          "maxLength": 5000,
          "type": "array"
        }
      },
      "required": [
        "blocks"
      ],
      "type": "object"
    },
    "main": {
      "description": "Portable Supper rich content embedded in site.standard.document.content; this is not a repository record. Metadata, author, title, dates and plaintext fallback belong to the enclosing Standard Site document. At most 5000 total blocks/list items, 32 nesting levels and 800000 UTF-8 bytes in the JSON body. Unknown blocks must fall back to the enclosing textContent, never silently imply a complete rendering. Contains no editor state, local asset IDs, storage keys, private URLs or access grants.",
      "properties": {
        "blocks": {
          "items": {
            "closed": false,
            "refs": [
              "#paragraph",
              "#heading",
              "#quote",
              "#bulletList",
              "#orderedList",
              "#code",
              "#divider",
              "#image",
              "#embed",
              "#blueskyPost",
              "#poll"
            ],
            "type": "union"
          },
          "maxLength": 5000,
          "type": "array"
        }
      },
      "required": [
        "blocks"
      ],
      "type": "object"
    },
    "orderedList": {
      "properties": {
        "items": {
          "items": {
            "ref": "#listItem",
            "type": "ref"
          },
          "maxLength": 5000,
          "type": "array"
        },
        "start": {
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "items"
      ],
      "type": "object"
    },
    "paragraph": {
      "properties": {
        "alignment": {
          "knownValues": [
            "left",
            "center",
            "right",
            "justify"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "facets": {
          "items": {
            "ref": "support.supper.richtext.facet",
            "type": "ref"
          },
          "maxLength": 5000,
          "type": "array"
        },
        "plaintext": {
          "maxLength": 800000,
          "type": "string"
        },
        "textSize": {
          "knownValues": [
            "small",
            "default",
            "large"
          ],
          "maxLength": 64,
          "type": "string"
        }
      },
      "required": [
        "plaintext"
      ],
      "type": "object"
    },
    "poll": {
      "description": "Exact public support.supper.poll.poll record with a DID-authority AT URI and CID. Readers verify collection and revision. This reference grants no access; unavailable records remain unavailable.",
      "properties": {
        "ref": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        }
      },
      "required": [
        "ref"
      ],
      "type": "object"
    },
    "quote": {
      "description": "Nested blocks preserve paragraph boundaries and formatting.",
      "properties": {
        "blocks": {
          "items": {
            "closed": false,
            "refs": [
              "#paragraph",
              "#heading",
              "#quote",
              "#bulletList",
              "#orderedList",
              "#code",
              "#divider",
              "#image",
              "#embed",
              "#blueskyPost",
              "#poll"
            ],
            "type": "union"
          },
          "maxLength": 5000,
          "type": "array"
        }
      },
      "required": [
        "blocks"
      ],
      "type": "object"
    }
  },
  "id": "support.supper.content",
  "lexicon": 1
}
```
