app.greengale.document

greengale.app

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

Validate Record

Validate a record against app.greengale.document

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:purpkfw7haimc4zu5a57slza
CID
bafyreibxc2zsn3hrzzoskd7olnxynx4cq27vgtx7wejy3snhjetghfm7h4
Indexed At
2026-02-18 18:08 UTC
AT-URI
at://did:plc:purpkfw7haimc4zu5a57slza/com.atproto.lexicon.schema/app.greengale.document

Referenced Schemas (3)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A markdown blog post with extended theme and LaTeX support.

  • A document record representing a published article, blog post, or other content. Documents can belong to a publication or exist independently.

  • A lexicon for long form rich media documents

  • com.pagehare.content.markdown objectnot from the namespace authority

    Canonical markdown content for a site.standard.document, embedded in the document's open content union. The markdown string is the canonical article body; optional cover metadata is stored alongside it; the document's t…

  • A markdown blog post with LaTeX, GitHub notes, Mermaid, YouTube and Bluesky extensions.

Lexicon Garden

@