#meta
Every decision record opens with a card: its status, when it was decided and by whom, and what it replaced or relates to. Click the card to edit the frontmatter behind it.
local function list(v)
if type(v) == "string" then
return { v }
end
return v or {}
end
tag.define {
name = "adr",
renderFrontmatter = function(adr)
local status = adr.status or "unknown"
local meta = dom.div {
class = "team-adr-meta",
dom.span { class = "team-chip team-chip-" .. status, status },
}
if adr.date then
meta.appendChild(dom.span { "decided " .. adr.date })
end
if adr.owner then
meta.appendChild(dom.span { "owner " .. adr.owner })
end
if adr.project then
meta.appendChild(dom.span { adr.project })
end
local card = dom.div { class = "team team-adr-card", meta }
local supersededBy = list(adr.supersededBy)
if #supersededBy > 0 then
card.appendChild(dom.p { "Superseded by " .. table.concat(supersededBy, ", ") })
end
local related = list(adr.related)
if #related > 0 then
card.appendChild(dom.p { "Related: " .. table.concat(related, " ยท ") })
end
return widget.htmlBlock(card)
end,
}
.team-adr-card {
padding: 12px 16px;
border: 1px solid #1f3b3a;
background: #0b1514;
color: #ccfbf1;
font-size: 0.9em;
}
.team-adr-meta {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 6px 14px;
color: #5f8f8a;
}
.team-adr-card p {
margin: 8px 0 0;
}