Skip to main content

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

`::embed`

Embed a supported URL as a sandboxed frame or media block and document refusal fallbacks.

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

Sample contract

FieldValue
PurposeEmbed a supported external or same-site URL in content Markdown
BoundariesProviders limited (YouTube, X/Twitter status, validated same-site); not a general iframe API
Author entry::embed{url=…} or standalone recognized URL
SurfaceWeb Device document (partial frame path)
Public statusreleased
Fallback / failureUnrecognized or refused URL → ordinary link / no embed descriptor
VerificationRoutes below · arc --version = 2.0.0-beta.28

Sample

Source:

markdown
::embed{url="https://youtu.be/jNQXAC9IVRw"}

Rendered:

The current renderer turns this supported URL into a responsive, lazy-loaded, sandboxed third-party iframe. Unrecognized URLs stay ordinary links.

Failure and limits

SituationExpected result
Unrecognized host / URL shapeOrdinary link; no embed chrome
Expecting arbitrary iframe with full privilegesOut of contract (allowSameOrigin / whitelist rules apply elsewhere)
Same-site path not validatedRefused or link fallback

Verification evidence

ItemValue
Baseline2026-08-09 · arc --version → 2.0.0-beta.28
Capability rowdocs/aup/capability-matrix.md §6 · ::embed · widget frame
Implementationcontent-reader.ts · content-embed.ts (youtube / twitter / internal) · renderer/primitives/frame.ts
Public routes/en/docs/web-device/markdown/embed/ · /zh/docs/web-device/markdown/embed/
Local runarc service start --blocklet blocklets/arcblock --port 4900 · open routes; refuse path stays link
AcceptSupported URL embeds; unsupported stays link; no general iframe claim