atproto blogging
1{
2 "lexicon": 1,
3 "id": "sh.weaver.notebook.colourScheme",
4 "defs": {
5 "main": {
6 "type": "record",
7 "description": "A colour palette for notebook theming",
8 "key": "tid",
9 "record": {
10 "type": "object",
11 "required": ["name", "variant", "colours"],
12 "properties": {
13 "name": {
14 "type": "string",
15 "description": "Human-readable name for the colour scheme"
16 },
17 "variant": {
18 "type": "string",
19 "enum": ["dark", "light"],
20 "description": "Whether this is a dark or light colour scheme"
21 },
22 "colours": {
23 "type": "object",
24 "required": [
25 "base", "surface", "overlay",
26 "text", "muted", "subtle", "emphasis",
27 "primary", "secondary", "tertiary",
28 "error", "warning", "success",
29 "border", "link", "highlight"
30 ],
31 "properties": {
32 "base": {
33 "type": "string",
34 "description": "Primary background for page/frame"
35 },
36 "surface": {
37 "type": "string",
38 "description": "Secondary background for panels/cards"
39 },
40 "overlay": {
41 "type": "string",
42 "description": "Tertiary background for popovers/dialogs"
43 },
44 "text": {
45 "type": "string",
46 "description": "Primary readable text colour"
47 },
48 "muted": {
49 "type": "string",
50 "description": "De-emphasized text (disabled, metadata)"
51 },
52 "subtle": {
53 "type": "string",
54 "description": "Medium emphasis text (comments, labels)"
55 },
56 "emphasis": {
57 "type": "string",
58 "description": "Emphasized text (bold, important)"
59 },
60 "primary": {
61 "type": "string",
62 "description": "Primary brand/accent colour"
63 },
64 "secondary": {
65 "type": "string",
66 "description": "Secondary accent colour"
67 },
68 "tertiary": {
69 "type": "string",
70 "description": "Tertiary accent colour"
71 },
72 "error": {
73 "type": "string",
74 "description": "Error state colour"
75 },
76 "warning": {
77 "type": "string",
78 "description": "Warning state colour"
79 },
80 "success": {
81 "type": "string",
82 "description": "Success state colour"
83 },
84 "border": {
85 "type": "string",
86 "description": "Border/divider colour"
87 },
88 "link": {
89 "type": "string",
90 "description": "Hyperlink colour"
91 },
92 "highlight": {
93 "type": "string",
94 "description": "Selection/highlight colour"
95 }
96 }
97 }
98 }
99 }
100 }
101 }
102}