Layout tree (as in design/layout.json)
{
"pattern": "blog.athletic-match-reports",
"kind": "blog",
"grid": {
"lead": "1-7",
"list": "8-12"
},
"slots": [
"image",
"title",
"body",
"posts[3..4]"
],
"tree": {
"el": "grid",
"gap": 2,
"align": "start",
"children": [
{
"el": "box",
"span": "1-7",
"gap": 2,
"children": [
{
"el": "media",
"slot": "image",
"aspect": "16/9",
"treatment": "duotone"
},
{
"el": "text",
"slot": "title",
"role": "h2",
"transform": "uppercase",
"weight": 900,
"italic": true,
"leading": "tight",
"maxCh": 24
},
{
"el": "text",
"slot": "body",
"role": "body",
"maxCh": 56
}
]
},
{
"el": "repeat",
"span": "8-12",
"slot": "posts",
"min": 3,
"max": 4,
"layout": "list",
"divider": true,
"of": {
"el": "box",
"gap": 1,
"pad": [
2,
0
],
"children": [
{
"el": "text",
"slot": "meta",
"role": "label",
"font": "mono"
},
{
"el": "text",
"slot": "title",
"role": "h4",
"transform": "uppercase",
"weight": 800,
"italic": true,
"leading": "tight"
}
]
}
}
]
}
}