{
  "$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
}
