Web Device Markdown 指令——不是 AUP primitive;不是 theme/site layout 组件。
Sample 合同
| 字段 | 值 |
|---|---|
| 目的 | 在内容 Markdown 中嵌入受支持的外部或同源 URL |
| 边界 | 提供方受限(YouTube、X/Twitter status、经验证同源);不是通用 iframe API |
| 作者入口 | ::embed{url=…} 或独立可识别 URL |
| 表面 | Web Device document(受限 frame 路径) |
| 公共状态 | released |
| Fallback / 失败 | 未识别或被拒绝的 URL → 普通链接 / 无 embed 描述 |
| 验证 | 下方路由 · arc --version = 2.0.0-beta.28 |
Sample
源码:
::embed{url="https://youtu.be/jNQXAC9IVRw"}渲染:
当前 renderer 将此受支持 URL 变为响应式、懒加载、沙箱第三方 iframe。未识别 URL 保持普通链接。
失败与限制
| 情形 | 预期结果 |
|---|---|
| 未识别 host / URL 形状 | 普通链接;无 embed chrome |
| 期望任意特权 iframe | 超出合同(allowSameOrigin / 白名单规则另表) |
| 同源路径未验证 | 拒绝或链接 fallback |
验证证据
| 项 | 值 |
|---|---|
| 基线 | 2026-08-09 · arc --version → 2.0.0-beta.28 |
| 能力行 | docs/aup/capability-matrix.md §6 · ::embed · widget frame |
| 实现 | content-reader.ts · content-embed.ts(youtube / twitter / internal)· renderer/primitives/frame.ts |
| 公开路由 | /en/docs/web-device/markdown/embed/ · /zh/docs/web-device/markdown/embed/ |
| 本地运行 | arc service start --blocklet blocklets/arcblock --port 4900 · 打开路由;拒绝路径保持链接 |
| 接受标准 | 受支持 URL 可嵌入;不受支持保持链接;无通用 iframe 声明 |
相关
- Markdown hub — 仅导航
- 历史多单元 hub:markdown-embeds