{
"id": "pub.leaflet.content",
"defs": {
"main": {
"type": "object",
"required": [
"pages"
],
"properties": {
"blobs": {
"type": "array",
"items": {
"type": "blob",
"accept": [
"*/*"
],
"maxSize": 10000000
},
"description": "Blobs referenced inside `blobPages`. Load-bearing when `blobPages` is set: the PDS only scans the top level of a record for blob references when deciding what to garbage-collect, so any image/etc. blob now living inside the opaque JSON blob must be mirrored here to remain referenced."
},
"pages": {
"type": "array",
"items": {
"refs": [
"pub.leaflet.pages.linearDocument",
"pub.leaflet.pages.canvas"
],
"type": "union"
}
},
"blobPages": {
"type": "blob",
"accept": [
"application/json"
],
"maxSize": 5000000,
"description": "JSON-encoded array of pages. When the inline pages array would be too large to store on the PDS, the pages are uploaded as a blob and referenced here. When set, consumers MUST ignore `pages` and use the decoded blob contents as the page array; the inline `pages` field will be empty or a stub."
}
},
"description": "Content format for leaflet documents"
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"revision": 1,
"description": "A lexicon for long form rich media documents"
}