Skip to main content

Sample contract · MD directive · ARC 2.0.0-beta.28

`::::card-group`

Group navigation cards in a document grid and verify fence depth plus real render.

Web Device Markdown directive — not an AUP primitive; not a theme/site layout component.

Sample contract

FieldValue
PurposeLay out nested cards in a document grid
BoundariesOuter fence must be deeper than nested containers; not a layout-component API
Author entry::::card-group wrapping card directives
SurfaceWeb Device document (static)
Public statusreleased
Fallback / failureWithout group, cards render individually; fence depth errors collapse structure
VerificationRoutes below · arc --version = 2.0.0-beta.28

Sample

The outer fence needs one more colon than nested containers. With leaf ::link-card children, four colons are sufficient:

Source:

markdown
::::card-group
::link-card{title="Content objects" description="Review content and metadata" href="/en/docs/web-device/content-and-objects/" icon="book"}
::link-card{title="AUP boundary" description="See the difference between page layout and an AUP tree" href="/en/docs/web-device/aup-reference/" icon="layout"}
::::

Rendered:

Failure and limits

SituationExpected result
Outer fence too shallowParser misreads children; group/cards may collapse
Empty groupEmpty grid chrome / no cards
Expecting layout .web component propsWrong surface

Verification evidence

ItemValue
Baseline2026-08-09 · arc --version → 2.0.0-beta.28
Capability rowdocs/aup/capability-matrix.md §6 · ::::card-group
Implementationcontent-reader.ts · arc#2454 · docs-page CSS
Public routes/en/docs/web-device/markdown/card-group/ · /zh/docs/web-device/markdown/card-group/
Local runarc service start --blocklet blocklets/arcblock --port 4900 · open routes
AcceptGroup lays out nested cards; clicks navigate only