app.greengale.document

A markdown document with extended theme and LaTeX support.

Repository @greengale.app did:plc:purpkfw7haimc4zu5a57slza namespace authority
Details · record, key tid
Kindrecord
Record keytid
Authoritygreengale.app
Indexed
cid bafyreibxc2zsn3hrzzoskd7olnxynx4cq27vgtx7wejy3snhjetghfm7h4

Checks

Valid
  • large-string defs.main.record.properties.contentmaxLength is over 20 KB. Use a blob for content that large.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "contentRef": {
      "description": "Reference to external content via AT-URI. Used in site.standard.document content union.",
      "properties": {
        "uri": {
          "description": "AT-URI pointing to the full document content",
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri"
      ],
      "type": "object"
    },
    "main": {
      "description": "A markdown document with extended theme and LaTeX support.",
      "key": "tid",
      "record": {
        "properties": {
          "blobs": {
            "items": {
              "ref": "app.greengale.blog.defs#blobMetadata",
              "type": "ref"
            },
            "type": "array"
          },
          "content": {
            "description": "Markdown content of the document",
            "maxLength": 100000,
            "type": "string"
          },
          "latex": {
            "default": false,
            "description": "Legacy field for LaTeX math rendering. LaTeX is now always enabled for GreenGale posts; this field is kept for backward compatibility.",
            "type": "boolean"
          },
          "ogp": {
            "ref": "app.greengale.blog.defs#ogp",
            "type": "ref"
          },
          "path": {
            "description": "Document path relative to the publication URL (e.g., /handle/rkey)",
            "maxLength": 500,
            "type": "string"
          },
          "publishedAt": {
            "description": "Publication timestamp",
            "format": "datetime",
            "type": "string"
          },
          "subtitle": {
            "maxLength": 1000,
            "type": "string"
          },
          "tags": {
            "description": "Optional array of strings to tag/categorize the document. Avoid prepending with hashtags.",
            "items": {
              "maxGraphemes": 50,
              "maxLength": 100,
              "type": "string"
            },
            "maxLength": 100,
            "type": "array"
          },
          "theme": {
            "ref": "app.greengale.blog.defs#theme",
            "type": "ref"
          },
          "title": {
            "description": "Document title",
            "maxLength": 1000,
            "type": "string"
          },
          "url": {
            "description": "Base publication URL (e.g., https://greengale.app)",
            "format": "uri",
            "maxLength": 2048,
            "type": "string"
          },
          "visibility": {
            "default": "public",
            "description": "Controls who can view this document",
            "enum": [
              "public",
              "url",
              "author"
            ],
            "maxLength": 16,
            "type": "string"
          }
        },
        "required": [
          "content",
          "url",
          "path",
          "title",
          "publishedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "app.greengale.document",
  "lexicon": 1
}