site.mochott.minisite
Schema Diff
+10 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "site.mochott.minisite:body.sortMode" }
- AddedEdge AddedEdge { src: "site.mochott.minisite:body", tgt: "site.mochott.minisite:body.sortMode", kind: "prop", name: Some("sortMode") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "site.mochott.minisite:body.sortMode" }
Additional Notes
- Non-breaking: AddedEdge { src: "site.mochott.minisite:body", tgt: "site.mochott.minisite:body.sortMode", kind: "prop", name: Some("sortMode") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"articleRef": {
5
5
"description": "A reference to an article record included in a minisite.",
6
6
"properties": {
7
7
"uri": {
8
8
"description": "AT URI of the referenced article record.",
9
9
"format": "at-uri",
10
10
"type": "string"
11
11
}
12
12
},
13
13
"required": [
14
14
"uri"
15
15
],
16
16
"type": "object"
17
17
},
18
18
"main": {
19
19
"description": "Record representing a minisite — a themed sub-site that groups selected articles under a custom slug and design.",
20
20
"key": "tid",
21
21
"record": {
22
22
"properties": {
23
23
"accentColor": {
24
24
"description": "Accent theme color as a CSS color value.",
25
25
"maxLength": 50,
26
26
"type": "string"
27
27
},
28
28
"articles": {
29
29
"description": "Ordered references to articles included in this minisite.",
30
30
"items": {
31
31
"ref": "#articleRef",
32
32
"type": "ref"
33
33
},
34
34
"maxLength": 1000,
35
35
"type": "array"
36
36
},
37
37
"backgroundColor": {
38
38
"description": "Background theme color as a CSS color value.",
39
39
"maxLength": 50,
40
40
"type": "string"
41
41
},
42
42
"createdAt": {
43
43
"description": "Timestamp when the minisite was created.",
44
44
"format": "datetime",
45
45
"type": "string"
46
46
},
47
47
"description": {
48
48
"description": "Short description of the minisite, shown in listings and metadata.",
49
49
"maxGraphemes": 1000,
50
50
"maxLength": 3000,
51
51
"type": "string"
52
52
},
53
53
"designType": {
54
54
"description": "Visual layout style for the minisite.",
55
55
"knownValues": [
56
56
"blog",
57
57
"document",
58
58
"portfolio"
59
59
],
60
60
"maxLength": 50,
61
61
"type": "string"
62
62
},
63
63
"globalSlug": {
64
64
"description": "Globally unique slug for custom domain or top-level URL routing.",
65
65
"maxLength": 100,
66
66
"type": "string"
67
67
},
68
68
"icon": {
69
69
"accept": [
70
70
"image/png",
71
71
"image/jpeg",
72
72
"image/webp"
73
73
],
74
74
"description": "Icon or logo image for the minisite.",
75
75
"maxSize": 1000000,
76
76
"type": "blob"
77
77
},
78
78
"name": {
79
79
"description": "Display name of the minisite.",
80
80
"maxGraphemes": 100,
81
81
"maxLength": 300,
82
82
"type": "string"
83
83
},
84
84
"primaryColor": {
85
85
"description": "Primary theme color as a CSS color value (e.g. '#3b82f6').",
86
86
"maxLength": 50,
87
87
"type": "string"
88
88
},
89
89
"slug": {
90
90
"description": "URL-safe identifier for the minisite. Must be lowercase alphanumeric with hyphens or underscores.",
91
91
"maxLength": 100,
92
92
"type": "string"
93
93
},
94
+
"sortMode": {
95
+
"description": "How article listings are ordered. 'auto' sorts newest first by publish date; 'manual' uses the curator-defined order of the articles array. Defaults to 'auto'.",
96
+
"knownValues": [
97
+
"auto",
98
+
"manual"
99
+
],
100
+
"maxLength": 50,
101
+
"type": "string"
102
+
},
94
103
"sourceRef": {
95
104
"description": "Branch or ref name for the source repository. Defaults to 'main'.",
96
105
"maxLength": 200,
97
106
"type": "string"
98
107
},
99
108
"sourceRepo": {
100
109
"description": "Repository identifier when sourceType is 'tangled'.",
101
110
"maxLength": 500,
102
111
"type": "string"
103
112
},
104
113
"sourceType": {
105
114
"description": "Content source type for the minisite.",
106
115
"knownValues": [
107
116
"local",
108
117
"tangled"
109
118
],
110
119
"maxLength": 50,
111
120
"type": "string"
112
121
},
113
122
"updatedAt": {
114
123
"description": "Timestamp when the minisite was last updated.",
115
124
"format": "datetime",
116
125
"type": "string"
117
126
}
118
127
},
119
128
"required": [
120
129
"name",
121
130
"slug",
122
131
"createdAt"
123
132
],
124
133
"type": "object"
125
134
},
126
135
"type": "record"
127
136
}
128
137
},
129
138
"description": "A minisite record. Represents a curated collection of articles with its own branding and URL.",
130
139
"id": "site.mochott.minisite",
131
140
"lexicon": 1,
132
-
"revision": 1
141
+
"revision": 2
133
142
}