siteStandardDocument top-level constant

Map<String, dynamic> const siteStandardDocument

site.standard.document

Implementation

const siteStandardDocument = <String, dynamic>{
  "lexicon": 1,
  "id": "site.standard.document",
  "defs": {
    "contributor": {
      "type": "object",
      "required": ["did"],
      "properties": {
        "did": {"type": "string", "format": "did"},
        "displayName": {
          "type": "string",
          "maxLength": 1000,
          "maxGraphemes": 100,
        },
        "role": {"type": "string", "maxLength": 1000, "maxGraphemes": 100},
      },
    },
    "main": {
      "type": "record",
      "description":
          "A document record representing a published article, blog post, or other content. Documents can belong to a publication or exist independently.",
      "key": "tid",
      "record": {
        "type": "object",
        "required": ["site", "title", "publishedAt"],
        "properties": {
          "bskyPostRef": {
            "type": "ref",
            "description":
                "Strong reference to a Bluesky post. Useful to keep track of comments off-platform.",
            "ref": "com.atproto.repo.strongRef",
          },
          "content": {
            "type": "union",
            "description":
                "Open union used to define the record's content. Each entry must specify a \$type and may be extended with other lexicons to support additional content formats.",
            "refs": [],
            "closed": false,
          },
          "contributors": {
            "type": "array",
            "items": {"type": "ref", "ref": "#contributor"},
          },
          "coverImage": {
            "type": "blob",
            "description":
                "Image to used for thumbnail or cover image. Less than 1MB is size.",
            "accept": ["image/*"],
            "maxSize": 1000000,
          },
          "description": {
            "type": "string",
            "description": "A brief description or excerpt from the document.",
            "maxLength": 30000,
            "maxGraphemes": 3000,
          },
          "labels": {
            "type": "union",
            "description":
                "Self-label values for this post. Effectively content warnings.",
            "refs": ["com.atproto.label.defs#selfLabels"],
          },
          "links": {
            "type": "union",
            "description":
                "Array of values describing relationships between this document and external resources",
            "refs": [],
          },
          "path": {
            "type": "string",
            "description":
                "Combine with site or publication url to construct a canonical URL to the document. Prepend with a leading slash.",
          },
          "publishedAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp of the documents publish time.",
          },
          "site": {
            "type": "string",
            "format": "uri",
            "description":
                "Points to a publication record (at://) or a publication url (https://) for loose documents. Avoid trailing slashes.",
          },
          "tags": {
            "type": "array",
            "description":
                "Array of strings used to tag or categorize the document. Avoid prepending tags with hashtags.",
            "items": {"type": "string", "maxLength": 1280, "maxGraphemes": 128},
          },
          "textContent": {
            "type": "string",
            "description":
                "Plaintext representation of the documents contents. Should not contain markdown or other formatting.",
          },
          "title": {
            "type": "string",
            "description": "Title of the document.",
            "maxLength": 5000,
            "maxGraphemes": 500,
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp of the documents last edit.",
          },
        },
      },
    },
  },
};