social.colibri.beta.richtext.facet
Schema Diff
+6 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "social.colibri.beta.richtext.facet#list.indent" }
- AddedEdge AddedEdge { src: "social.colibri.beta.richtext.facet#list", tgt: "social.colibri.beta.richtext.facet#list.indent", kind: "prop", name: Some("indent") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "social.colibri.beta.richtext.facet#list.indent" }
Additional Notes
- Non-breaking: AddedEdge { src: "social.colibri.beta.richtext.facet#list", tgt: "social.colibri.beta.richtext.facet#list.indent", kind: "prop", name: Some("indent") }
1
1
{
2
2
"id": "social.colibri.beta.richtext.facet",
3
3
"defs": {
4
4
"bold": {
5
5
"type": "object",
6
6
"properties": {},
7
7
"description": "Bold text."
8
8
},
9
9
"code": {
10
10
"type": "object",
11
11
"properties": {},
12
12
"description": "Inline code."
13
13
},
14
14
"link": {
15
15
"type": "object",
16
16
"required": [
17
17
"uri"
18
18
],
19
19
"properties": {
20
20
"uri": {
21
21
"type": "string",
22
22
"format": "uri",
23
23
"description": "Where the link points."
24
24
}
25
25
},
26
26
"description": "A hyperlink."
27
27
},
28
28
"list": {
29
29
"type": "object",
30
30
"required": [
31
31
"ordered"
32
32
],
33
33
"properties": {
34
+
"indent": {
35
+
"type": "integer",
36
+
"maximum": 10,
37
+
"minimum": 0,
38
+
"description": "The nesting depth of the item. 0 is the outermost level."
39
+
},
34
40
"ordered": {
35
41
"type": "boolean",
36
42
"description": "Whether the list is numbered."
37
43
}
38
44
},
39
45
"description": "A list item line."
40
46
},
41
47
"main": {
42
48
"type": "object",
43
49
"required": [
44
50
"index",
45
51
"features"
46
52
],
47
53
"properties": {
48
54
"index": {
49
55
"ref": "#byteSlice",
50
56
"type": "ref",
51
57
"description": "The range of the text this facet covers."
52
58
},
53
59
"features": {
54
60
"type": "array",
55
61
"items": {
56
62
"refs": [
57
63
"#bold",
58
64
"#italic",
59
65
"#underline",
60
66
"#strikethrough",
61
67
"#code",
62
68
"#codeblock",
63
69
"#quote",
64
70
"#heading",
65
71
"#list",
66
72
"#subtext",
67
73
"#spoiler",
68
74
"#mention",
69
75
"#role",
70
76
"#channel",
71
77
"#link",
72
78
"#time"
73
79
],
74
80
"type": "union"
75
81
},
76
82
"description": "What the range means. A range may carry more than one feature."
77
83
}
78
84
},
79
85
"description": "An annotation over a range of a message's text."
80
86
},
81
87
"role": {
82
88
"type": "object",
83
89
"required": [
84
90
"role"
85
91
],
86
92
"properties": {
87
93
"role": {
88
94
"type": "string",
89
95
"format": "record-key",
90
96
"description": "The mentioned role."
91
97
}
92
98
},
93
99
"description": "A role mention. Roles are only ever written by the community, and a channel space's authority is its community, so the role key alone is unambiguous."
94
100
},
95
101
"time": {
96
102
"type": "object",
97
103
"required": [
98
104
"datetime"
99
105
],
100
106
"properties": {
101
107
"style": {
102
108
"type": "string",
103
109
"description": "How to render it.",
104
110
"knownValues": [
105
111
"time-short",
106
112
"time-long",
107
113
"date-short",
108
114
"date-long",
109
115
"datetime-short",
110
116
"datetime-long",
111
117
"relative"
112
118
]
113
119
},
114
120
"datetime": {
115
121
"type": "string",
116
122
"format": "datetime",
117
123
"description": "The instant being referred to."
118
124
}
119
125
},
120
126
"description": "A timestamp rendered in the reader's locale."
121
127
},
122
128
"quote": {
123
129
"type": "object",
124
130
"properties": {},
125
131
"description": "A block quote."
126
132
},
127
133
"italic": {
128
134
"type": "object",
129
135
"properties": {},
130
136
"description": "Italic text."
131
137
},
132
138
"channel": {
133
139
"type": "object",
134
140
"required": [
135
141
"channel"
136
142
],
137
143
"properties": {
138
144
"channel": {
139
145
"type": "string",
140
146
"format": "record-key",
141
147
"description": "The referenced channel."
142
148
}
143
149
},
144
150
"description": "A channel reference, by the channel's space key within the same community."
145
151
},
146
152
"heading": {
147
153
"type": "object",
148
154
"required": [
149
155
"level"
150
156
],
151
157
"properties": {
152
158
"level": {
153
159
"type": "integer",
154
160
"maximum": 3,
155
161
"minimum": 1,
156
162
"description": "Heading level, from 1 to 3."
157
163
}
158
164
},
159
165
"description": "A heading line."
160
166
},
161
167
"mention": {
162
168
"type": "object",
163
169
"required": [
164
170
"did"
165
171
],
166
172
"properties": {
167
173
"did": {
168
174
"type": "string",
169
175
"format": "did",
170
176
"description": "The mentioned user."
171
177
}
172
178
},
173
179
"description": "A user mention."
174
180
},
175
181
"spoiler": {
176
182
"type": "object",
177
183
"properties": {},
178
184
"description": "Text hidden until revealed."
179
185
},
180
186
"subtext": {
181
187
"type": "object",
182
188
"properties": {},
183
189
"description": "Small, muted text."
184
190
},
185
191
"byteSlice": {
186
192
"type": "object",
187
193
"required": [
188
194
"byteStart",
189
195
"byteEnd"
190
196
],
191
197
"properties": {
192
198
"byteEnd": {
193
199
"type": "integer",
194
200
"minimum": 0,
195
201
"description": "Byte after the range, exclusive."
196
202
},
197
203
"byteStart": {
198
204
"type": "integer",
199
205
"minimum": 0,
200
206
"description": "First byte of the range, inclusive."
201
207
}
202
208
},
203
209
"description": "The range a feature applies to, as zero-based byte offsets into the UTF-8 encoded text. Start is inclusive, end is exclusive."
204
210
},
205
211
"codeblock": {
206
212
"type": "object",
207
213
"properties": {
208
214
"lang": {
209
215
"type": "string",
210
216
"maxLength": 32,
211
217
"description": "Language hint."
212
218
}
213
219
},
214
220
"description": "A multi-line code block."
215
221
},
216
222
"underline": {
217
223
"type": "object",
218
224
"properties": {},
219
225
"description": "Underlined text."
220
226
},
221
227
"strikethrough": {
222
228
"type": "object",
223
229
"properties": {},
224
230
"description": "Struck-through text."
225
231
}
226
232
},
227
233
"$type": "com.atproto.lexicon.schema",
228
234
"lexicon": 1
229
235
}