lol.dids.sites.tile

ngerakines.me

{
  "id": "lol.dids.sites.tile",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "name",
          "content"
        ],
        "properties": {
          "icon": {
            "type": "blob",
            "accept": [
              "image/png",
              "image/jpeg",
              "image/webp"
            ],
            "maxSize": 1048576
          },
          "name": {
            "type": "string",
            "maxLength": 1000,
            "description": "Display name; limits match the Web Tiles specification.",
            "maxGraphemes": 100
          },
          "params": {
            "type": "array",
            "items": {
              "ref": "#param",
              "type": "ref"
            },
            "maxLength": 32,
            "description": "Parameters a binding site must or may supply. Names are unique within a tile."
          },
          "content": {
            "ref": "lol.dids.sites.defs#manifest",
            "type": "ref",
            "description": "The tile's resources. Must name the bundle and contain a '/' entry."
          },
          "description": {
            "type": "string",
            "maxLength": 3000,
            "maxGraphemes": 300
          }
        }
      }
    },
    "param": {
      "type": "object",
      "required": [
        "name",
        "type"
      ],
      "properties": {
        "enum": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 64,
          "description": "string: closed set of permitted values."
        },
        "name": {
          "type": "string",
          "maxLength": 64,
          "description": "Key in the site record's parameters map. Matches [A-Za-z][A-Za-z0-9_]*; must not begin with an underscore."
        },
        "type": {
          "type": "string",
          "maxLength": 317,
          "description": "One of string, integer, boolean, blob, array — or an NSID naming the record type a value must carry as its $type, which may also be supplied by strong reference."
        },
        "items": {
          "ref": "#itemSchema",
          "type": "ref",
          "description": "array: the element type. Required when type is array, forbidden otherwise. One level: an item is never itself an array."
        },
        "accept": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 16,
          "description": "blob: accepted MIME types, wildcards as in Lexicon (image/*)."
        },
        "format": {
          "type": "string",
          "description": "string: Lexicon string format.",
          "knownValues": [
            "at-identifier",
            "at-uri",
            "cid",
            "datetime",
            "did",
            "handle",
            "language",
            "nsid",
            "record-key",
            "tid",
            "uri"
          ]
        },
        "maxSize": {
          "type": "integer",
          "minimum": 1,
          "description": "blob: maximum size in bytes."
        },
        "maximum": {
          "type": "integer",
          "description": "integer."
        },
        "minimum": {
          "type": "integer",
          "description": "integer."
        },
        "required": {
          "type": "boolean",
          "description": "Default false. An absent optional parameter is simply absent; tile code defaults it."
        },
        "maxLength": {
          "type": "integer",
          "minimum": 1,
          "description": "string: maximum UTF-8 bytes; array: maximum item count."
        },
        "description": {
          "type": "string",
          "maxLength": 1000
        },
        "knownValues": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 64,
          "description": "string: open, advisory set."
        },
        "maxGraphemes": {
          "type": "integer",
          "minimum": 1,
          "description": "string."
        }
      },
      "description": "A parameter a binding site supplies. type is a Lexicon primitive or an NSID; the constraint fields mirror Lexicon's own and apply only where Lexicon applies them — a constraint on a type it does not govern makes the tile invalid."
    },
    "itemSchema": {
      "type": "object",
      "required": [
        "type"
      ],
      "properties": {
        "enum": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 64
        },
        "type": {
          "type": "string",
          "maxLength": 317
        },
        "accept": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 16
        },
        "format": {
          "type": "string",
          "knownValues": [
            "at-identifier",
            "at-uri",
            "cid",
            "datetime",
            "did",
            "handle",
            "language",
            "nsid",
            "record-key",
            "tid",
            "uri"
          ]
        },
        "maxSize": {
          "type": "integer",
          "minimum": 1
        },
        "maximum": {
          "type": "integer"
        },
        "minimum": {
          "type": "integer"
        },
        "maxLength": {
          "type": "integer",
          "minimum": 1
        },
        "knownValues": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 64
        },
        "maxGraphemes": {
          "type": "integer",
          "minimum": 1
        }
      },
      "description": "Element type of an array parameter: any #param type except array, with the same constraint fields."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "A reusable, parameterized web tile: a bundle of static resources a lol.dids.sites.site may bind to a domain by strong reference. Tiles are published under a TID key by their authors and are never tied to a domain."
}

Validate Record

Validate a record against lol.dids.sites.tile

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

Metadata

DID
did:plc:cbkjy5n7bk3ax2wplmtjofq2
CID
bafyreid6rogsod23bj26s7hfvlys4qq5pr2xdqirx6m6q7ljbde5ujeja4
Indexed At
2026-08-30 03:07 UTC
AT-URI
at://did:plc:cbkjy5n7bk3ax2wplmtjofq2/com.atproto.lexicon.schema/lol.dids.sites.tile

Referenced Schemas (1)

Lexicon Garden

@