Assemble an action card's HTML: render the caller-authored body, then append the standard button block. Pure (Foundry access only through the render shims), so it is unit-testable and carries no posting side effect.
The card body (template or content) and its buttons.
The finished card HTML, ready to post (e.g. via speaker.toChat).
speaker.toChat
Assemble an action card's HTML: render the caller-authored body, then append the standard button block. Pure (Foundry access only through the render shims), so it is unit-testable and carries no posting side effect.