com.deckbelcher.richtext.facet

deckbelcher.com

{
  "id": "com.deckbelcher.richtext.facet",
  "defs": {
    "tag": {
      "type": "object",
      "required": [
        "tag"
      ],
      "properties": {
        "tag": {
          "type": "string",
          "maxLength": 640,
          "maxGraphemes": 64
        }
      },
      "description": "Facet feature for a hashtag.\nThe text usually includes a '#' prefix, but the facet reference should not."
    },
    "bold": {
      "type": "object",
      "properties": {},
      "description": "Facet feature for bold text formatting.\nTypically rendered as `<strong>` in HTML."
    },
    "code": {
      "type": "object",
      "properties": {},
      "description": "Facet feature for inline code.\nTypically rendered as `<code>` in HTML."
    },
    "link": {
      "type": "object",
      "required": [
        "uri"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "format": "uri"
        }
      },
      "description": "Facet feature for a URL.\nThe text URL may have been simplified or truncated, but the facet reference should be a complete URL."
    },
    "main": {
      "type": "object",
      "required": [
        "index",
        "features"
      ],
      "properties": {
        "index": {
          "ref": "#byteSlice",
          "type": "ref"
        },
        "features": {
          "type": "array",
          "items": {
            "refs": [
              "#mention",
              "#link",
              "#tag",
              "#bold",
              "#italic",
              "#code",
              "#codeBlock",
              "#cardRef"
            ],
            "type": "union"
          }
        }
      },
      "description": "Annotation of a sub-string within rich text.\nExtends Bluesky's facet system to support DeckBelcher-specific features."
    },
    "italic": {
      "type": "object",
      "properties": {},
      "description": "Facet feature for italic text formatting.\nTypically rendered as `<em>` in HTML."
    },
    "cardRef": {
      "type": "object",
      "required": [
        "ref"
      ],
      "properties": {
        "ref": {
          "ref": "com.deckbelcher.defs#cardRef",
          "type": "ref",
          "description": "Reference to the card (scryfall printing + oracle card)."
        }
      },
      "description": "Facet feature for a card reference.\nLinks to a Magic: The Gathering card.\nThe text is usually the card name."
    },
    "mention": {
      "type": "object",
      "required": [
        "did"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did"
        }
      },
      "description": "Facet feature for mention of another account.\nThe text is usually a handle, including an `@` prefix, but the facet reference is a DID."
    },
    "byteSlice": {
      "type": "object",
      "required": [
        "byteStart",
        "byteEnd"
      ],
      "properties": {
        "byteEnd": {
          "type": "integer",
          "minimum": 0
        },
        "byteStart": {
          "type": "integer",
          "minimum": 0
        }
      },
      "description": "Specifies the sub-string range a facet feature applies to.\nStart index is inclusive, end index is exclusive.\nIndices are zero-indexed, counting bytes of the UTF-8 encoded text."
    },
    "codeBlock": {
      "type": "object",
      "properties": {},
      "description": "Facet feature for code blocks.\nTypically rendered as `<pre><code>` in HTML."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against com.deckbelcher.richtext.facet

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

Metadata

DID
did:web:deckbelcher.com
CID
bafyreickuep2b7rsiye6bjq42ppqlslalcxddqhx264dsv6tf5kup7xoce
Indexed At
2026-01-27 01:08 UTC
AT-URI
at://did:web:deckbelcher.com/com.atproto.lexicon.schema/com.deckbelcher.richtext.facet

Referenced Schemas (1)

Lexicon Garden

@