site.mochott.layout
Schema Diff
+140 -6
Compatibility Analysis
Breaking Changes Detected
20 breaking changes, 57 non-breaking changes.
Breaking Changes (20)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "site.mochott.layout#gallery", src: "site.mochott.layout#gallery", tgt: "site.mochott.layout#gallery.images", kind: "prop", name: Some("images") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "site.mochott.layout#hero", src: "site.mochott.layout#hero", tgt: "site.mochott.layout#hero.heading", kind: "prop", name: Some("heading") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "site.mochott.layout#galleryImage", src: "site.mochott.layout#galleryImage", tgt: "site.mochott.layout#galleryImage.image", kind: "prop", name: Some("image") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "site.mochott.layout#galleryImage", src: "site.mochott.layout#galleryImage", tgt: "site.mochott.layout#galleryImage.alt", kind: "prop", name: Some("alt") }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant13", kind: "variant", name: Some("#socialLinks") }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant14", kind: "variant", name: Some("#record") }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant15", kind: "variant", name: Some("#embed") }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#flowItem.block:variant13", tgt: "site.mochott.layout#socialLinks", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#flowItem.block:variant14", tgt: "site.mochott.layout#record", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#flowItem.block:variant15", tgt: "site.mochott.layout#embed", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant10", kind: "variant", name: Some("#record") }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant11", kind: "variant", name: Some("#embed") }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant8", kind: "variant", name: Some("#socialLinks") }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant9", kind: "variant", name: Some("#spacer") }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#tileItem.block:variant10", tgt: "site.mochott.layout#record", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#tileItem.block:variant11", tgt: "site.mochott.layout#embed", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#tileItem.block:variant8", tgt: "site.mochott.layout#socialLinks", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "site.mochott.layout#tileItem.block:variant9", tgt: "site.mochott.layout#spacer", kind: "ref", name: None }
- ConstraintTightened ConstraintTightened { vertex_id: "site.mochott.layout#header.links", sort: "default", old_value: "text", new_value: "buttons" }
- ConstraintTightened ConstraintTightened { vertex_id: "site.mochott.layout#header.links", sort: "knownValues", old_value: "[\"text\",\"icons\",\"buttons\",\"hidden\"]", new_value: "[\"buttons\",\"icons\",\"text\",\"hidden\"]" }
Non-Breaking Changes (57)
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#articleList.sort" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#flowItem.block:variant16" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#flowItem.block:variant17" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#gallery" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#gallery.images" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#gallery.images:items" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#gallery.view" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#galleryImage" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#galleryImage.alt" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#galleryImage.aspectRatio" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#galleryImage.image" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#hero" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#hero.align" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#hero.buttonLabel" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#hero.buttonUri" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#hero.heading" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#hero.image" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#hero.text" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#record.description" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#record.title" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#tileItem.block:variant12" }
- AddedVertex AddedVertex { vertex_id: "site.mochott.layout#tileItem.block:variant13" }
- AddedEdge AddedEdge { src: "site.mochott.layout#articleList", tgt: "site.mochott.layout#articleList.sort", kind: "prop", name: Some("sort") }
- AddedEdge AddedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant13", kind: "variant", name: Some("#gallery") }
- AddedEdge AddedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant14", kind: "variant", name: Some("#hero") }
- AddedEdge AddedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant15", kind: "variant", name: Some("#socialLinks") }
- AddedEdge AddedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant16", kind: "variant", name: Some("#record") }
- AddedEdge AddedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant17", kind: "variant", name: Some("#embed") }
- AddedEdge AddedEdge { src: "site.mochott.layout#flowItem.block:variant13", tgt: "site.mochott.layout#gallery", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#flowItem.block:variant14", tgt: "site.mochott.layout#hero", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#flowItem.block:variant15", tgt: "site.mochott.layout#socialLinks", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#flowItem.block:variant16", tgt: "site.mochott.layout#record", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#flowItem.block:variant17", tgt: "site.mochott.layout#embed", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#gallery", tgt: "site.mochott.layout#gallery.view", kind: "prop", name: Some("view") }
- AddedEdge AddedEdge { src: "site.mochott.layout#gallery.images", tgt: "site.mochott.layout#gallery.images:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#gallery.images:items", tgt: "site.mochott.layout#galleryImage", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#galleryImage", tgt: "site.mochott.layout#galleryImage.aspectRatio", kind: "prop", name: Some("aspectRatio") }
- AddedEdge AddedEdge { src: "site.mochott.layout#galleryImage.aspectRatio", tgt: "site.mochott.layout#aspectRatio", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#hero", tgt: "site.mochott.layout#hero.align", kind: "prop", name: Some("align") }
- AddedEdge AddedEdge { src: "site.mochott.layout#hero", tgt: "site.mochott.layout#hero.buttonLabel", kind: "prop", name: Some("buttonLabel") }
- AddedEdge AddedEdge { src: "site.mochott.layout#hero", tgt: "site.mochott.layout#hero.buttonUri", kind: "prop", name: Some("buttonUri") }
- AddedEdge AddedEdge { src: "site.mochott.layout#hero", tgt: "site.mochott.layout#hero.image", kind: "prop", name: Some("image") }
- AddedEdge AddedEdge { src: "site.mochott.layout#hero", tgt: "site.mochott.layout#hero.text", kind: "prop", name: Some("text") }
- AddedEdge AddedEdge { src: "site.mochott.layout#record", tgt: "site.mochott.layout#record.description", kind: "prop", name: Some("description") }
- AddedEdge AddedEdge { src: "site.mochott.layout#record", tgt: "site.mochott.layout#record.title", kind: "prop", name: Some("title") }
- AddedEdge AddedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant10", kind: "variant", name: Some("#socialLinks") }
- AddedEdge AddedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant11", kind: "variant", name: Some("#spacer") }
- AddedEdge AddedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant12", kind: "variant", name: Some("#record") }
- AddedEdge AddedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant13", kind: "variant", name: Some("#embed") }
- AddedEdge AddedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant8", kind: "variant", name: Some("#gallery") }
- AddedEdge AddedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant9", kind: "variant", name: Some("#hero") }
- AddedEdge AddedEdge { src: "site.mochott.layout#tileItem.block:variant10", tgt: "site.mochott.layout#socialLinks", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#tileItem.block:variant11", tgt: "site.mochott.layout#spacer", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#tileItem.block:variant12", tgt: "site.mochott.layout#record", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#tileItem.block:variant13", tgt: "site.mochott.layout#embed", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#tileItem.block:variant8", tgt: "site.mochott.layout#gallery", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "site.mochott.layout#tileItem.block:variant9", tgt: "site.mochott.layout#hero", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "site.mochott.layout#articleList.sort" }AddedVertex { vertex_id: "site.mochott.layout#flowItem.block:variant16" }AddedVertex { vertex_id: "site.mochott.layout#flowItem.block:variant17" }AddedVertex { vertex_id: "site.mochott.layout#gallery" }AddedVertex { vertex_id: "site.mochott.layout#gallery.images" }AddedVertex { vertex_id: "site.mochott.layout#gallery.images:items" }AddedVertex { vertex_id: "site.mochott.layout#gallery.view" }AddedVertex { vertex_id: "site.mochott.layout#galleryImage" }AddedVertex { vertex_id: "site.mochott.layout#galleryImage.alt" }AddedVertex { vertex_id: "site.mochott.layout#galleryImage.aspectRatio" }AddedVertex { vertex_id: "site.mochott.layout#galleryImage.image" }AddedVertex { vertex_id: "site.mochott.layout#hero" }AddedVertex { vertex_id: "site.mochott.layout#hero.align" }AddedVertex { vertex_id: "site.mochott.layout#hero.buttonLabel" }AddedVertex { vertex_id: "site.mochott.layout#hero.buttonUri" }AddedVertex { vertex_id: "site.mochott.layout#hero.heading" }AddedVertex { vertex_id: "site.mochott.layout#hero.image" }AddedVertex { vertex_id: "site.mochott.layout#hero.text" }AddedVertex { vertex_id: "site.mochott.layout#record.description" }AddedVertex { vertex_id: "site.mochott.layout#record.title" }AddedVertex { vertex_id: "site.mochott.layout#tileItem.block:variant12" }AddedVertex { vertex_id: "site.mochott.layout#tileItem.block:variant13" }
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "site.mochott.layout#header.links", sort: "default", old_value: "text", new_value: "buttons" }
- ConstraintTightened ConstraintTightened { vertex_id: "site.mochott.layout#header.links", sort: "knownValues", old_value: "[\"text\",\"icons\",\"buttons\",\"hidden\"]", new_value: "[\"buttons\",\"icons\",\"text\",\"hidden\"]" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "site.mochott.layout#gallery", src: "site.mochott.layout#gallery", tgt: "site.mochott.layout#gallery.images", kind: "prop", name: Some("images") }
- Breaking: RequiredEdgeAdded { vertex_id: "site.mochott.layout#hero", src: "site.mochott.layout#hero", tgt: "site.mochott.layout#hero.heading", kind: "prop", name: Some("heading") }
- Breaking: RequiredEdgeAdded { vertex_id: "site.mochott.layout#galleryImage", src: "site.mochott.layout#galleryImage", tgt: "site.mochott.layout#galleryImage.image", kind: "prop", name: Some("image") }
- Breaking: RequiredEdgeAdded { vertex_id: "site.mochott.layout#galleryImage", src: "site.mochott.layout#galleryImage", tgt: "site.mochott.layout#galleryImage.alt", kind: "prop", name: Some("alt") }
- Breaking: RemovedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant13", kind: "variant", name: Some("#socialLinks") }
- Breaking: RemovedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant14", kind: "variant", name: Some("#record") }
- Breaking: RemovedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant15", kind: "variant", name: Some("#embed") }
- Breaking: RemovedEdge { src: "site.mochott.layout#flowItem.block:variant13", tgt: "site.mochott.layout#socialLinks", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "site.mochott.layout#flowItem.block:variant14", tgt: "site.mochott.layout#record", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "site.mochott.layout#flowItem.block:variant15", tgt: "site.mochott.layout#embed", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant10", kind: "variant", name: Some("#record") }
- Breaking: RemovedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant11", kind: "variant", name: Some("#embed") }
- Breaking: RemovedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant8", kind: "variant", name: Some("#socialLinks") }
- Breaking: RemovedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant9", kind: "variant", name: Some("#spacer") }
- Breaking: RemovedEdge { src: "site.mochott.layout#tileItem.block:variant10", tgt: "site.mochott.layout#record", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "site.mochott.layout#tileItem.block:variant11", tgt: "site.mochott.layout#embed", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "site.mochott.layout#tileItem.block:variant8", tgt: "site.mochott.layout#socialLinks", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "site.mochott.layout#tileItem.block:variant9", tgt: "site.mochott.layout#spacer", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#articleList", tgt: "site.mochott.layout#articleList.sort", kind: "prop", name: Some("sort") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant13", kind: "variant", name: Some("#gallery") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant14", kind: "variant", name: Some("#hero") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant15", kind: "variant", name: Some("#socialLinks") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant16", kind: "variant", name: Some("#record") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#flowItem.block", tgt: "site.mochott.layout#flowItem.block:variant17", kind: "variant", name: Some("#embed") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#flowItem.block:variant13", tgt: "site.mochott.layout#gallery", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#flowItem.block:variant14", tgt: "site.mochott.layout#hero", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#flowItem.block:variant15", tgt: "site.mochott.layout#socialLinks", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#flowItem.block:variant16", tgt: "site.mochott.layout#record", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#flowItem.block:variant17", tgt: "site.mochott.layout#embed", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#gallery", tgt: "site.mochott.layout#gallery.view", kind: "prop", name: Some("view") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#gallery.images", tgt: "site.mochott.layout#gallery.images:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#gallery.images:items", tgt: "site.mochott.layout#galleryImage", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#galleryImage", tgt: "site.mochott.layout#galleryImage.aspectRatio", kind: "prop", name: Some("aspectRatio") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#galleryImage.aspectRatio", tgt: "site.mochott.layout#aspectRatio", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#hero", tgt: "site.mochott.layout#hero.align", kind: "prop", name: Some("align") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#hero", tgt: "site.mochott.layout#hero.buttonLabel", kind: "prop", name: Some("buttonLabel") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#hero", tgt: "site.mochott.layout#hero.buttonUri", kind: "prop", name: Some("buttonUri") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#hero", tgt: "site.mochott.layout#hero.image", kind: "prop", name: Some("image") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#hero", tgt: "site.mochott.layout#hero.text", kind: "prop", name: Some("text") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#record", tgt: "site.mochott.layout#record.description", kind: "prop", name: Some("description") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#record", tgt: "site.mochott.layout#record.title", kind: "prop", name: Some("title") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant10", kind: "variant", name: Some("#socialLinks") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant11", kind: "variant", name: Some("#spacer") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant12", kind: "variant", name: Some("#record") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant13", kind: "variant", name: Some("#embed") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant8", kind: "variant", name: Some("#gallery") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#tileItem.block", tgt: "site.mochott.layout#tileItem.block:variant9", kind: "variant", name: Some("#hero") }
- Non-breaking: AddedEdge { src: "site.mochott.layout#tileItem.block:variant10", tgt: "site.mochott.layout#socialLinks", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#tileItem.block:variant11", tgt: "site.mochott.layout#spacer", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#tileItem.block:variant12", tgt: "site.mochott.layout#record", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#tileItem.block:variant13", tgt: "site.mochott.layout#embed", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#tileItem.block:variant8", tgt: "site.mochott.layout#gallery", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "site.mochott.layout#tileItem.block:variant9", tgt: "site.mochott.layout#hero", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"archive": {
5
5
"description": "Post counts per month, by publish date in Japan time.",
6
6
"properties": {
7
7
"view": {
8
8
"default": "year",
9
9
"knownValues": [
10
10
"year",
11
11
"month"
12
12
],
13
13
"maxLength": 64,
14
14
"type": "string"
15
15
},
16
16
"weekStart": {
17
17
"default": "monday",
18
18
"knownValues": [
19
19
"monday",
20
20
"sunday"
21
21
],
22
22
"maxLength": 64,
23
23
"type": "string"
24
24
}
25
25
},
26
26
"type": "object"
27
27
},
28
28
"articleList": {
29
29
"properties": {
30
30
"filter": {
31
31
"description": "Absent means all articles of the subject: the author's articles on a profile, the minisite's articles on a minisite.",
32
32
"refs": [
33
33
"#tagFilter",
34
34
"#seriesFilter",
35
35
"#minisiteFilter"
36
36
],
37
37
"type": "union"
38
38
},
39
39
"limit": {
40
40
"default": 5,
41
41
"maximum": 20,
42
42
"minimum": 1,
43
43
"type": "integer"
44
44
},
45
+
"sort": {
46
+
"default": "recent",
47
+
"description": "'popular' orders by the number of likes. A popular list shows its own articles only and has no further pages.",
48
+
"knownValues": [
49
+
"recent",
50
+
"popular"
51
+
],
52
+
"maxLength": 64,
53
+
"type": "string"
54
+
},
45
55
"view": {
46
56
"default": "list",
47
57
"knownValues": [
48
58
"card",
49
59
"list",
50
60
"magazine"
51
61
],
52
62
"maxLength": 64,
53
63
"type": "string"
54
64
}
55
65
},
56
66
"type": "object"
57
67
},
58
68
"aspectRatio": {
59
69
"properties": {
60
70
"height": {
61
71
"minimum": 1,
62
72
"type": "integer"
63
73
},
64
74
"width": {
65
75
"minimum": 1,
66
76
"type": "integer"
67
77
}
68
78
},
69
79
"required": [
70
80
"width",
71
81
"height"
72
82
],
73
83
"type": "object"
74
84
},
75
85
"background": {
76
86
"description": "Theme color token. Never a raw color, so every theme keeps its contrast.",
77
87
"knownValues": [
78
88
"none",
79
89
"surface",
80
90
"accent"
81
91
],
82
92
"maxLength": 64,
83
93
"type": "string"
84
94
},
85
95
"customBlock": {
86
96
"description": "A site.mochott.block placed on the page, stored the same way as in an article.",
87
97
"properties": {
88
98
"blockUri": {
89
99
"format": "at-uri",
90
100
"type": "string"
91
101
},
92
102
"snapshot": {
93
103
"description": "Copy of the block definition at the time it was placed, so the page keeps rendering if the block changes or is deleted.",
94
104
"type": "unknown"
95
105
},
96
106
"values": {
97
107
"description": "Field values keyed by the block's field keys.",
98
108
"type": "unknown"
99
109
}
100
110
},
101
111
"required": [
102
112
"blockUri"
103
113
],
104
114
"type": "object"
105
115
},
106
116
"embed": {
107
117
"description": "Embedded media. Only providers on the renderer's allowlist are shown, and the player loads on click.",
108
118
"properties": {
109
119
"uri": {
110
120
"format": "uri",
111
121
"type": "string"
112
122
}
113
123
},
114
124
"required": [
115
125
"uri"
116
126
],
117
127
"type": "object"
118
128
},
119
129
"flowItem": {
120
130
"properties": {
121
131
"background": {
122
132
"ref": "#background",
123
133
"type": "ref"
124
134
},
125
135
"block": {
126
136
"refs": [
127
137
"#text",
128
138
"#heading",
129
139
"#articleList",
130
140
"#otherServices",
131
141
"#customBlock",
132
142
"#pinnedArticle",
133
143
"#archive",
134
144
"#tagList",
135
145
"#seriesList",
136
146
"#minisiteCard",
137
147
"#linkCard",
138
148
"#linkButton",
139
149
"#image",
150
+
"#gallery",
151
+
"#hero",
140
152
"#socialLinks",
141
153
"#record",
142
154
"#embed"
143
155
],
144
156
"type": "union"
145
157
},
146
158
"hideOnMobile": {
147
159
"type": "boolean"
148
160
},
149
161
"id": {
150
162
"maxLength": 16,
151
163
"type": "string"
152
164
}
153
165
},
154
166
"required": [
155
167
"id",
156
168
"block"
157
169
],
158
170
"type": "object"
159
171
},
160
172
"flowSection": {
161
173
"description": "One to four columns whose height follows the content. Collapses to one column on mobile.",
162
174
"properties": {
163
175
"columns": {
164
176
"default": 1,
165
177
"maximum": 4,
166
178
"minimum": 1,
167
179
"type": "integer"
168
180
},
169
181
"heading": {
170
182
"maxGraphemes": 100,
171
183
"maxLength": 300,
172
184
"type": "string"
173
185
},
174
186
"id": {
175
187
"maxLength": 16,
176
188
"type": "string"
177
189
},
178
190
"items": {
179
191
"items": {
180
192
"ref": "#flowItem",
181
193
"type": "ref"
182
194
},
183
195
"maxLength": 30,
184
196
"type": "array"
185
197
}
186
198
},
187
199
"required": [
188
200
"id",
189
201
"items"
190
202
],
191
203
"type": "object"
192
204
},
205
+
"gallery": {
206
+
"description": "Several images shown together.",
207
+
"properties": {
208
+
"images": {
209
+
"items": {
210
+
"ref": "#galleryImage",
211
+
"type": "ref"
212
+
},
213
+
"maxLength": 20,
214
+
"minLength": 1,
215
+
"type": "array"
216
+
},
217
+
"view": {
218
+
"default": "grid",
219
+
"description": "'grid' lays the images out in a grid, 'scroll' in one row to scroll sideways, 'slides' one at a time. Unknown values fall back to 'grid'.",
220
+
"knownValues": [
221
+
"grid",
222
+
"scroll",
223
+
"slides"
224
+
],
225
+
"maxLength": 64,
226
+
"type": "string"
227
+
}
228
+
},
229
+
"required": [
230
+
"images"
231
+
],
232
+
"type": "object"
233
+
},
234
+
"galleryImage": {
235
+
"properties": {
236
+
"alt": {
237
+
"description": "Alternative text. May be empty for a purely decorative image.",
238
+
"maxGraphemes": 1000,
239
+
"maxLength": 10000,
240
+
"type": "string"
241
+
},
242
+
"aspectRatio": {
243
+
"ref": "#aspectRatio",
244
+
"type": "ref"
245
+
},
246
+
"image": {
247
+
"accept": [
248
+
"image/png",
249
+
"image/jpeg",
250
+
"image/webp",
251
+
"image/gif"
252
+
],
253
+
"maxSize": 1000000,
254
+
"type": "blob"
255
+
}
256
+
},
257
+
"required": [
258
+
"image",
259
+
"alt"
260
+
],
261
+
"type": "object"
262
+
},
193
263
"header": {
194
264
"description": "How the page header is drawn: the subject's name, description, icon, cover image and links. The header always comes first and is not part of the sections; what it shows is the subject's own record.",
195
265
"properties": {
196
266
"links": {
197
-
"default": "text",
198
-
"description": "How the subject's social links are shown. Unknown values fall back to 'text'.",
267
+
"default": "buttons",
268
+
"description": "How the subject's social links are shown. Unknown values fall back to 'buttons'.",
199
269
"knownValues": [
200
-
"text",
201
-
"icons",
202
270
"buttons",
271
+
"icons",
272
+
"text",
203
273
"hidden"
204
274
],
205
275
"maxLength": 64,
206
276
"type": "string"
207
277
},
208
278
"showDescription": {
209
279
"default": true,
210
280
"type": "boolean"
211
281
},
212
282
"style": {
213
283
"default": "standard",
214
284
"description": "'standard' puts the icon beside the name, 'center' stacks them centred, 'cover' draws a large cover image with the icon over its edge. Unknown values fall back to 'standard'.",
215
285
"knownValues": [
216
286
"standard",
217
287
"center",
218
288
"cover"
219
289
],
220
290
"maxLength": 64,
221
291
"type": "string"
222
292
}
223
293
},
224
294
"type": "object"
225
295
},
226
296
"heading": {
227
297
"properties": {
228
298
"level": {
229
299
"default": 2,
230
300
"maximum": 3,
231
301
"minimum": 2,
232
302
"type": "integer"
233
303
},
234
304
"text": {
235
305
"maxGraphemes": 100,
236
306
"maxLength": 300,
237
307
"type": "string"
238
308
}
239
309
},
240
310
"required": [
241
311
"text"
242
312
],
243
313
"type": "object"
244
314
},
315
+
"hero": {
316
+
"description": "A large image with a heading, a short text and a button over it. Without an image the accent colour is drawn instead.",
317
+
"properties": {
318
+
"align": {
319
+
"default": "left",
320
+
"knownValues": [
321
+
"left",
322
+
"center"
323
+
],
324
+
"maxLength": 64,
325
+
"type": "string"
326
+
},
327
+
"buttonLabel": {
328
+
"description": "Shown only together with buttonUri.",
329
+
"maxGraphemes": 50,
330
+
"maxLength": 150,
331
+
"type": "string"
332
+
},
333
+
"buttonUri": {
334
+
"description": "An http(s) URL. Renderers must ignore any other scheme.",
335
+
"format": "uri",
336
+
"maxLength": 2048,
337
+
"type": "string"
338
+
},
339
+
"heading": {
340
+
"maxGraphemes": 100,
341
+
"maxLength": 300,
342
+
"type": "string"
343
+
},
344
+
"image": {
345
+
"accept": [
346
+
"image/png",
347
+
"image/jpeg",
348
+
"image/webp",
349
+
"image/gif"
350
+
],
351
+
"maxSize": 1000000,
352
+
"type": "blob"
353
+
},
354
+
"text": {
355
+
"maxGraphemes": 300,
356
+
"maxLength": 900,
357
+
"type": "string"
358
+
}
359
+
},
360
+
"required": [
361
+
"heading"
362
+
],
363
+
"type": "object"
364
+
},
245
365
"image": {
246
366
"properties": {
247
367
"alt": {
248
368
"description": "Alternative text. May be empty for a purely decorative image.",
249
369
"maxGraphemes": 1000,
250
370
"maxLength": 10000,
251
371
"type": "string"
252
372
},
253
373
"aspectRatio": {
254
374
"ref": "#aspectRatio",
255
375
"type": "ref"
256
376
},
257
377
"caption": {
258
378
"maxGraphemes": 300,
259
379
"maxLength": 3000,
260
380
"type": "string"
261
381
},
262
382
"image": {
263
383
"accept": [
264
384
"image/png",
265
385
"image/jpeg",
266
386
"image/webp",
267
387
"image/gif"
268
388
],
269
389
"maxSize": 1000000,
270
390
"type": "blob"
271
391
}
272
392
},
273
393
"required": [
274
394
"image",
275
395
"alt"
276
396
],
277
397
"type": "object"
278
398
},
279
399
"linkButton": {
280
400
"properties": {
281
401
"label": {
282
402
"maxGraphemes": 50,
283
403
"maxLength": 300,
284
404
"type": "string"
285
405
},
286
406
"uri": {
287
407
"format": "uri",
288
408
"type": "string"
289
409
}
290
410
},
291
411
"required": [
292
412
"uri",
293
413
"label"
294
414
],
295
415
"type": "object"
296
416
},
297
417
"linkCard": {
298
418
"description": "Card for an external page. The OGP fields are a snapshot taken when the card was edited; viewers never trigger a fetch.",
299
419
"properties": {
300
420
"description": {
301
421
"maxGraphemes": 1000,
302
422
"maxLength": 10000,
303
423
"type": "string"
304
424
},
305
425
"thumb": {
306
426
"accept": [
307
427
"image/png",
308
428
"image/jpeg",
309
429
"image/webp"
310
430
],
311
431
"maxSize": 1000000,
312
432
"type": "blob"
313
433
},
314
434
"title": {
315
435
"maxGraphemes": 300,
316
436
"maxLength": 3000,
317
437
"type": "string"
318
438
},
319
439
"uri": {
320
440
"format": "uri",
321
441
"type": "string"
322
442
}
323
443
},
324
444
"required": [
325
445
"uri"
326
446
],
327
447
"type": "object"
328
448
},
329
449
"main": {
330
450
"description": "Layout of one page. One account has one layout per page: the record key is 'self' for the account's profile home, and equals the minisite record's key for that minisite's home. Other keys are reserved for additional pages. The subject must be a record in the same repository; layouts pointing at another account's records are ignored.",
331
451
"key": "any",
332
452
"record": {
333
453
"properties": {
334
454
"createdAt": {
335
455
"format": "datetime",
336
456
"type": "string"
337
457
},
338
458
"header": {
339
459
"ref": "#header",
340
460
"type": "ref"
341
461
},
342
462
"sections": {
343
463
"description": "Sections from top to bottom, below the page header.",
344
464
"items": {
345
465
"refs": [
346
466
"#tileSection",
347
467
"#flowSection"
348
468
],
349
469
"type": "union"
350
470
},
351
471
"maxLength": 20,
352
472
"type": "array"
353
473
},
354
474
"subject": {
355
475
"description": "The page this layout renders: the account's own site.mochott.profile or site.mochott.minisite record.",
356
476
"format": "at-uri",
357
477
"type": "string"
358
478
},
359
479
"theme": {
360
480
"ref": "#theme",
361
481
"type": "ref"
362
482
},
363
483
"updatedAt": {
364
484
"format": "datetime",
365
485
"type": "string"
366
486
}
367
487
},
368
488
"required": [
369
489
"subject",
370
490
"sections",
371
491
"createdAt"
372
492
],
373
493
"type": "object"
374
494
},
375
495
"type": "record"
376
496
},
377
497
"minisiteCard": {
378
498
"properties": {
379
499
"minisite": {
380
500
"format": "at-uri",
381
501
"type": "string"
382
502
}
383
503
},
384
504
"required": [
385
505
"minisite"
386
506
],
387
507
"type": "object"
388
508
},
389
509
"minisiteFilter": {
390
510
"properties": {
391
511
"minisite": {
392
512
"format": "at-uri",
393
513
"type": "string"
394
514
}
395
515
},
396
516
"required": [
397
517
"minisite"
398
518
],
399
519
"type": "object"
400
520
},
401
521
"otherServices": {
402
522
"description": "The author's articles on other standard.site services.",
403
523
"properties": {
404
524
"limit": {
405
525
"default": 6,
406
526
"maximum": 20,
407
527
"minimum": 1,
408
528
"type": "integer"
409
529
}
410
530
},
411
531
"type": "object"
412
532
},
413
533
"pinnedArticle": {
414
534
"properties": {
415
535
"article": {
416
536
"description": "Always shows the latest version. Skipped when the article is gone or hidden.",
417
537
"format": "at-uri",
418
538
"type": "string"
419
539
}
420
540
},
421
541
"required": [
422
542
"article"
423
543
],
424
544
"type": "object"
425
545
},
426
546
"record": {
427
547
"description": "Card for an AT Protocol record, drawn by a renderer chosen from the record's collection (e.g. sh.tangled.repo). Collections without a renderer are skipped.",
428
548
"properties": {
549
+
"description": {
550
+
"description": "The record's description as it was when placed. Refreshed when the page is published.",
551
+
"maxGraphemes": 1000,
552
+
"maxLength": 3000,
553
+
"type": "string"
554
+
},
555
+
"title": {
556
+
"description": "The record's name as it was when placed (for sh.tangled.repo, its name or record key). Refreshed when the page is published.",
557
+
"maxGraphemes": 200,
558
+
"maxLength": 600,
559
+
"type": "string"
560
+
},
429
561
"uri": {
430
562
"format": "at-uri",
431
563
"type": "string"
432
564
}
433
565
},
434
566
"required": [
435
567
"uri"
436
568
],
437
569
"type": "object"
438
570
},
439
571
"seriesFilter": {
440
572
"properties": {
441
573
"series": {
442
574
"format": "at-uri",
443
575
"type": "string"
444
576
}
445
577
},
446
578
"required": [
447
579
"series"
448
580
],
449
581
"type": "object"
450
582
},
451
583
"seriesList": {
452
584
"properties": {
453
585
"series": {
454
586
"description": "Series to show, in order. Absent means all series, newest first.",
455
587
"items": {
456
588
"format": "at-uri",
457
589
"type": "string"
458
590
},
459
591
"maxLength": 10,
460
592
"type": "array"
461
593
},
462
594
"view": {
463
595
"default": "list",
464
596
"description": "'cover' shows each series with the cover image of its first article.",
465
597
"knownValues": [
466
598
"list",
467
599
"card",
468
600
"cover"
469
601
],
470
602
"maxLength": 64,
471
603
"type": "string"
472
604
}
473
605
},
474
606
"type": "object"
475
607
},
476
608
"socialLinks": {
477
-
"description": "The social links of the account's site.mochott.profile record.",
609
+
"description": "The social links of the account's site.mochott.profile record. Deprecated: the page header shows them; editors no longer offer this block, renderers still draw it.",
478
610
"properties": {},
479
611
"type": "object"
480
612
},
481
613
"spacer": {
482
614
"description": "Empty cell used to leave a gap in a tile section.",
483
615
"properties": {},
484
616
"type": "object"
485
617
},
486
618
"tagFilter": {
487
619
"properties": {
488
620
"tag": {
489
621
"maxGraphemes": 64,
490
622
"maxLength": 640,
491
623
"type": "string"
492
624
}
493
625
},
494
626
"required": [
495
627
"tag"
496
628
],
497
629
"type": "object"
498
630
},
499
631
"tagList": {
500
632
"properties": {
501
633
"limit": {
502
634
"default": 10,
503
635
"maximum": 30,
504
636
"minimum": 1,
505
637
"type": "integer"
506
638
}
507
639
},
508
640
"type": "object"
509
641
},
510
642
"text": {
511
643
"properties": {
512
644
"content": {
513
645
"ref": "site.mochott.article#tiptapDocument",
514
646
"type": "ref"
515
647
}
516
648
},
517
649
"required": [
518
650
"content"
519
651
],
520
652
"type": "object"
521
653
},
522
654
"theme": {
523
655
"properties": {
524
656
"cardStyle": {
525
657
"knownValues": [
526
658
"soft",
527
659
"outline",
528
660
"flat"
529
661
],
530
662
"maxLength": 64,
531
663
"type": "string"
532
664
},
533
665
"preset": {
534
666
"description": "Color and typeface preset. Unknown values fall back to 'standard'.",
535
667
"knownValues": [
536
668
"standard",
537
669
"wakaba",
538
670
"yoru"
539
671
],
540
672
"maxLength": 64,
541
673
"type": "string"
542
674
}
543
675
},
544
676
"type": "object"
545
677
},
546
678
"tileItem": {
547
679
"properties": {
548
680
"background": {
549
681
"ref": "#background",
550
682
"type": "ref"
551
683
},
552
684
"block": {
553
685
"refs": [
554
686
"#pinnedArticle",
555
687
"#archive",
556
688
"#tagList",
557
689
"#seriesList",
558
690
"#minisiteCard",
559
691
"#linkCard",
560
692
"#linkButton",
561
693
"#image",
694
+
"#gallery",
695
+
"#hero",
562
696
"#socialLinks",
563
697
"#spacer",
564
698
"#record",
565
699
"#embed"
566
700
],
567
701
"type": "union"
568
702
},
569
703
"hideOnMobile": {
570
704
"type": "boolean"
571
705
},
572
706
"id": {
573
707
"maxLength": 16,
574
708
"type": "string"
575
709
},
576
710
"size": {
577
711
"description": "Width x height in cells. A tile wider than its grid (the section's columns on desktop, 2 on mobile) takes the full width and keeps its shape. A size the block does not support is replaced by the block's first supported size.",
578
712
"knownValues": [
579
713
"1x1",
580
714
"2x1",
581
715
"1x2",
582
716
"2x2",
583
717
"4x1",
584
718
"4x2"
585
719
],
586
720
"maxLength": 8,
587
721
"type": "string"
588
722
}
589
723
},
590
724
"required": [
591
725
"id",
592
726
"size",
593
727
"block"
594
728
],
595
729
"type": "object"
596
730
},
597
731
"tileSection": {
598
732
"description": "A grid of square cells, `columns` wide on desktop and 2 on mobile. Items are packed in order. Future section kinds may be added; renderers skip kinds they do not know.",
599
733
"properties": {
600
734
"columns": {
601
735
"default": 4,
602
736
"maximum": 6,
603
737
"minimum": 2,
604
738
"type": "integer"
605
739
},
606
740
"heading": {
607
741
"maxGraphemes": 100,
608
742
"maxLength": 300,
609
743
"type": "string"
610
744
},
611
745
"id": {
612
746
"maxLength": 16,
613
747
"type": "string"
614
748
},
615
749
"items": {
616
750
"items": {
617
751
"ref": "#tileItem",
618
752
"type": "ref"
619
753
},
620
754
"maxLength": 30,
621
755
"type": "array"
622
756
}
623
757
},
624
758
"required": [
625
759
"id",
626
760
"items"
627
761
],
628
762
"type": "object"
629
763
}
630
764
},
631
765
"description": "A block-based page layout. Renders the home of a mochott profile or of a minisite.",
632
766
"id": "site.mochott.layout",
633
767
"lexicon": 1,
634
-
"revision": 1
768
+
"revision": 3
635
769
}