Pipeline A does not support embeds. A YouTube/Twitter link inside an AUP
format: "markdown" text field just renders as an ordinary <a> — there's no
auto-detection. This page (283 files in the production corpus) is pipeline-B only.
There are three ways to get an embed, in order of how a real author is most likely to write one.
Auto-detection: a bare URL
A standalone paragraph containing nothing but a plain URL is auto-detected — no special syntax needed.
Source:
https://www.youtube.com/watch?v=jNQXAC9IVRwRendered:
Auto-detection relies on remark-gfm's autolink-literal extension turning the bare text into a real link node first; the paragraph must contain only that link (no other text) for it to become an embed instead of an ordinary clickable link — see the "stays a plain link" example below.
Auto-detection: a markdown link
Source:
[Watch the announcement](https://x.com/arc/status/12345678901)Rendered:
The explicit embed directive
Useful when you want the embed without it also being the visible link text, or to be unambiguous about authoring intent.
Source:
::embed{url="https://youtu.be/jNQXAC9IVRw"}Rendered:
A link with surrounding text stays a plain link
Only a standalone paragraph (or an explicit ::embed{}) becomes an embed. A
supported URL that's part of a larger sentence stays an ordinary link — it does not
suddenly turn into an iframe in the middle of a paragraph.
Source:
Read [this thread](https://x.com/i/status/12345678901) for the full context
before you continue.Rendered:
Read this thread for the full context before you continue.
An unsupported URL degrades to a visible link
Only YouTube and Twitter/X hosts are recognized. Anything else — even via the explicit directive — degrades to a plain, visible link instead of a broken iframe or a silently dropped block.
Source:
::embed{url="https://a.example/v/1"}Rendered:
Supported hosts
- YouTube —
youtube.com/watch?v=,youtu.be/,/embed/,/shorts/,/live/; an optional?t=/?start=timestamp is honored. - Twitter / X —
twitter.comandx.comstatus URLs (.../status/<id>).
Every embedded frame is sandbox-restricted, loads lazy by default, and sends
referrerpolicy="strict-origin-when-cross-origin" — the same safety posture as
every other frame primitive in AUP, not a special case for embeds.