art.graphik.issue
One issue or chapter. Points at its series by AT-URI rather than being nested inside it, so a series record does not have to be rewritten (and re-synced) every time a chapter ships, and so an anthology can accept an issue from another repo.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | graphik.art |
| Indexed |
Checks
Valid Lint pass{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "One issue or chapter. Points at its series by AT-URI rather than being nested inside it, so a series record does not have to be rewritten (and re-synced) every time a chapter ships, and so an anthology can accept an issue from another repo.",
"key": "tid",
"record": {
"properties": {
"contentRating": {
"knownValues": [
"all-ages",
"teen",
"mature",
"explicit"
],
"maxLength": 16,
"type": "string"
},
"contributors": {
"items": {
"ref": "art.graphik.series#contributor",
"type": "ref"
},
"maxLength": 64,
"type": "array"
},
"cover": {
"accept": [
"image/png",
"image/jpeg",
"image/webp",
"image/avif"
],
"maxSize": 10000000,
"type": "blob"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"description": {
"description": "Author's note or synopsis for this issue.",
"maxGraphemes": 1000,
"maxLength": 10000,
"type": "string"
},
"format": {
"description": "Per-issue override; inherits from the series when absent.",
"knownValues": [
"page",
"strip"
],
"maxLength": 16,
"type": "string"
},
"number": {
"description": "Issue number. Fractional numbering is expressed via `numberDecimal` so an interlude can sit between 1 and 2 without renumbering anything.",
"type": "integer"
},
"numberDecimal": {
"description": "Issue number as a decimal string (e.g. \"1.5\"). Takes precedence over `number` when both are present.",
"maxLength": 16,
"type": "string"
},
"pages": {
"description": "The pages, in reading order.",
"items": {
"ref": "#page",
"type": "ref"
},
"maxLength": 1000,
"type": "array"
},
"publishedAt": {
"description": "The date the creator claims for this issue. Feeds sort on this, not on when we indexed it.",
"format": "datetime",
"type": "string"
},
"readingDirection": {
"description": "Per-issue override; inherits from the series when absent.",
"knownValues": [
"ltr",
"rtl"
],
"maxLength": 16,
"type": "string"
},
"series": {
"description": "AT-URI of the art.graphik.series this belongs to. Absent for a one-shot.",
"format": "at-uri",
"type": "string"
},
"tags": {
"items": {
"maxLength": 64,
"type": "string"
},
"maxLength": 32,
"type": "array"
},
"title": {
"description": "Display label when the number alone isn't the name.",
"maxGraphemes": 100,
"maxLength": 1000,
"type": "string"
}
},
"required": [
"pages",
"createdAt"
],
"type": "object"
},
"type": "record"
},
"page": {
"properties": {
"alt": {
"description": "Alt text. Comics are images; without this the work is simply unavailable to a screen-reader user.",
"maxLength": 2000,
"type": "string"
},
"height": {
"description": "Intrinsic pixel height.",
"type": "integer"
},
"image": {
"accept": [
"image/png",
"image/jpeg",
"image/webp",
"image/avif"
],
"description": "The page art.",
"maxSize": 20000000,
"type": "blob"
},
"placeholder": {
"description": "Tiny inline preview (blurhash or data URI) shown while the full page streams in.",
"maxLength": 8000,
"type": "string"
},
"spread": {
"description": "A two-page spread that should render across the fold rather than being paired with a neighbour.",
"type": "boolean"
},
"width": {
"description": "Intrinsic pixel width, so a reader can reserve the right box before the image decodes.",
"type": "integer"
}
},
"required": [
"image"
],
"type": "object"
}
},
"id": "art.graphik.issue",
"lexicon": 1
}