Layout tree (as in design/layout.json)
{
"pattern": "blog.swiss-dated-index",
"kind": "blog",
"grid": {
"date": "1-2",
"title": "3-8",
"summary": "9-12"
},
"slots": [
"sectionLabel",
"title",
"posts[4..10]"
],
"tree": {
"el": "box",
"gap": 5,
"children": [
{
"el": "grid",
"gap": 3,
"children": [
{
"el": "text",
"span": "1-2",
"color": "textMuted",
"slot": "sectionLabel",
"role": "eyebrow"
},
{
"el": "text",
"span": "3-8",
"slot": "title",
"role": "h2"
}
]
},
{
"el": "repeat",
"slot": "posts",
"min": 4,
"max": 10,
"layout": "list",
"divider": true,
"of": {
"el": "grid",
"gap": 3,
"pad": [
2,
0
],
"align": "baseline",
"children": [
{
"el": "text",
"span": "1-2",
"color": "textMuted",
"slot": "meta",
"role": "small",
"font": "mono"
},
{
"el": "text",
"span": "3-8",
"slot": "title",
"role": "h4"
},
{
"el": "text",
"span": "9-12",
"slot": "body",
"role": "small",
"maxCh": 44
}
]
}
}
]
}
}