dev.knotless.theme

Kept in the account that made it, keyed by a TID. Choosing one copies its palette into the chooser's preferences (dev.knotless.getPreferences#appearancePref), so a theme changed or deleted later leaves those who chose it as they were.

Details · record, key tid
Kindrecord
Record keytid
Authorityknotless.dev
Indexed
cid bafyreiaa4sqhc642wz4oayjudifjb455nyowxap264nckbodgsr72k4p6i

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Kept in the account that made it, keyed by a TID. Choosing one copies its palette into the chooser's preferences (dev.knotless.getPreferences#appearancePref), so a theme changed or deleted later leaves those who chose it as they were.",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "name": {
            "description": "What the theme is called, as its card shows it.",
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "palette": {
            "ref": "#palette",
            "type": "ref"
          }
        },
        "required": [
          "name",
          "palette",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "palette": {
      "description": "The colours of a theme, each named for what it colours rather than its hue, as a hex colour #rrggbb. A colour left out is light's or dark's, as colorScheme says, or for a surface or a text, mixed from background and text. Readers pass over a colour not as #rrggbb.",
      "properties": {
        "accent": {
          "description": "Links.",
          "maxLength": 7,
          "type": "string"
        },
        "attention": {
          "description": "What waits, and notices.",
          "maxLength": 7,
          "type": "string"
        },
        "background": {
          "description": "The page's surface.",
          "maxLength": 7,
          "type": "string"
        },
        "border": {
          "description": "Lines between parts of a page.",
          "maxLength": 7,
          "type": "string"
        },
        "colorScheme": {
          "description": "Whether the theme is light or dark: what it falls back on, and how the browser draws what the pages do not, as scrollbars and form controls.",
          "knownValues": [
            "light",
            "dark"
          ],
          "maxLength": 16,
          "type": "string"
        },
        "danger": {
          "description": "What failed, is removed, or is dangerous.",
          "maxLength": 7,
          "type": "string"
        },
        "done": {
          "description": "What is done: a pull merged.",
          "maxLength": 7,
          "type": "string"
        },
        "neutral": {
          "description": "What closed or was skipped.",
          "maxLength": 7,
          "type": "string"
        },
        "onPrimary": {
          "description": "Text on the main buttons.",
          "maxLength": 7,
          "type": "string"
        },
        "panel": {
          "description": "A surface a little apart from the page's: headers, cards.",
          "maxLength": 7,
          "type": "string"
        },
        "primary": {
          "description": "The main buttons.",
          "maxLength": 7,
          "type": "string"
        },
        "soft": {
          "description": "A surface further apart: code blocks, hovered rows.",
          "maxLength": 7,
          "type": "string"
        },
        "success": {
          "description": "What is open, passed, or added.",
          "maxLength": 7,
          "type": "string"
        },
        "syntax": {
          "ref": "#syntax",
          "type": "ref"
        },
        "text": {
          "description": "The body's text.",
          "maxLength": 7,
          "type": "string"
        },
        "textFaint": {
          "description": "Text said more quietly still: hints, placeholders.",
          "maxLength": 7,
          "type": "string"
        },
        "textMuted": {
          "description": "Text said quietly: times, counts.",
          "maxLength": 7,
          "type": "string"
        }
      },
      "required": [
        "colorScheme",
        "background",
        "text",
        "primary",
        "accent"
      ],
      "type": "object"
    },
    "syntax": {
      "description": "The colours code is highlighted in, each a hex colour as #rrggbb.",
      "properties": {
        "comments": {
          "maxLength": 7,
          "type": "string"
        },
        "functions": {
          "maxLength": 7,
          "type": "string"
        },
        "keywords": {
          "maxLength": 7,
          "type": "string"
        },
        "numbers": {
          "maxLength": 7,
          "type": "string"
        },
        "strings": {
          "maxLength": 7,
          "type": "string"
        },
        "tags": {
          "description": "Markup's tags.",
          "maxLength": 7,
          "type": "string"
        },
        "types": {
          "maxLength": 7,
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "description": "A theme an account made for knotless's pages, for anyone to draw them in.",
  "id": "dev.knotless.theme",
  "lexicon": 1
}