ai.syui.log.post
Record containing a blog post. Compatible with site.standard.document.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | log.syui.ai |
| Indexed |
Checks
Validlarge-stringdefs.main.record.properties.descriptionmaxLength is over 20 KB. Use a blob for content that large.unlimited-stringdefs.main.record.properties.pathNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.record.properties.textContentNo maxLength, maxGraphemes or format limits this string.large-stringdefs.markdown.properties.textmaxLength is over 20 KB. Use a blob for content that large.large-stringdefs.translation.properties.contentmaxLength is over 20 KB. Use a blob for content that large.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Record containing a blog post. Compatible with site.standard.document.",
"key": "tid",
"record": {
"properties": {
"bskyPostRef": {
"description": "Strong reference to a Bluesky post.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"content": {
"closed": false,
"description": "Open union for content. Supports markdown and other formats via $type.",
"refs": [
"#markdown"
],
"type": "union"
},
"coverImage": {
"accept": [
"image/*"
],
"description": "Cover image. Less than 1MB.",
"maxSize": 1000000,
"type": "blob"
},
"description": {
"description": "A brief description or excerpt from the post.",
"maxGraphemes": 3000,
"maxLength": 30000,
"type": "string"
},
"langs": {
"description": "Indicates human language of post content.",
"items": {
"format": "language",
"type": "string"
},
"maxLength": 3,
"type": "array"
},
"parent": {
"description": "AT-URI of the parent message being replied to.",
"format": "at-uri",
"type": "string"
},
"path": {
"description": "Combine with site URL to construct a canonical URL to the post.",
"type": "string"
},
"publishedAt": {
"description": "Timestamp of the post's publish time.",
"format": "datetime",
"type": "string"
},
"root": {
"description": "AT-URI of the root message in a thread.",
"format": "at-uri",
"type": "string"
},
"site": {
"description": "Points to a publication record (at://) or a publication URL (https://).",
"format": "uri",
"type": "string"
},
"tags": {
"description": "Tags to categorize the post.",
"items": {
"maxGraphemes": 128,
"maxLength": 1280,
"type": "string"
},
"type": "array"
},
"textContent": {
"description": "Plaintext representation of the post content. Should not contain markdown or other formatting.",
"type": "string"
},
"title": {
"description": "Title of the post.",
"maxGraphemes": 500,
"maxLength": 5000,
"type": "string"
},
"translations": {
"description": "Translations of the post in other languages.",
"ref": "#translationMap",
"type": "ref"
},
"updatedAt": {
"description": "Timestamp of the post's last edit.",
"format": "datetime",
"type": "string"
}
},
"required": [
"site",
"title",
"publishedAt"
],
"type": "object"
},
"type": "record"
},
"markdown": {
"description": "Markdown content format.",
"properties": {
"text": {
"description": "Markdown text content.",
"maxGraphemes": 100000,
"maxLength": 1000000,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"translation": {
"description": "A translation of a post.",
"properties": {
"content": {
"maxGraphemes": 100000,
"maxLength": 1000000,
"type": "string"
},
"title": {
"maxGraphemes": 500,
"maxLength": 5000,
"type": "string"
}
},
"type": "object"
},
"translationMap": {
"description": "Map of language codes to translations.",
"properties": {
"en": {
"ref": "#translation",
"type": "ref"
},
"ja": {
"ref": "#translation",
"type": "ref"
}
},
"type": "object"
}
},
"id": "ai.syui.log.post",
"lexicon": 1
}