跳到主要内容

Live 指南 · ARC 2.0.0-beta.32

在 Markdown 中使用卡片

用 link-card、info-card 与 card-group 组织文档入口,并在正文中直接查看它们的只读渲染结果。

卡片是 Web Device 内容对象中的 Markdown directive。它们把 author 提供的 title、description、可选图标和链接组织成页面内容。卡片不会创建 AUP session,也不会获得 exec、写入或编辑文档的权限。

本页是 feature live 指南(源代码与渲染结果同页)。原子 unit 页:link-cardinfo-cardaction-cardcard-group

Sample 合同

字段
用途内容 Markdown 中的导航与静态信息卡片
边界链接仅导航;无 exec、AFS 写入或 session;不是 .web component API
作者入口::link-card · :::info-card · :::action-card · ::::card-group
表面Web Device document(静态)
公共状态released
Fallback / 失败无安全 href → 非链接卡片;info-card 忽略 href;fence 深度错误会丢结构
验证下列路由 · arc --version = 2.0.0-beta.32

源代码:

markdown
::link-card{title="Web Device 概览" description="查看站点结构和边界" href="/zh/docs/web-device/overview/" icon="book"}

渲染结果:

Web Device 概览

查看站点结构和边界

link-card 只在提供安全的 href 时成为链接。点击它只会进行普通页面导航;不会写入任何内容。

href 的 source(不是导航目标):

markdown
::link-card{title="不是链接" description="缺少 href 时保持非交互外壳"}

渲染结果:

不是链接

缺少 href 时保持非交互外壳

info-card

源代码:

markdown
:::info-card{title="只读示例" description="内容与 layout 分开维护"}
这里可以放段落、列表和 code。

- 内容对象负责读者看到的文字
- `layout.aup` 负责页面如何组织这些对象
:::

渲染结果:

只读示例

内容与 layout 分开维护

这里可以放段落、列表和 code。

  • 内容对象负责读者看到的文字
  • layout.aup 负责页面如何组织这些对象

info-card 本身不是链接。即使作者给它写了 href,当前内容读取器也不会把它升级成可点击卡片。

action-card

action-card 把显式的 action 放进 card body。这里的 action 只带普通导航 href,没有 event、exec 或 data write。

源代码:

markdown
:::action-card{title="继续阅读" description="把多个导航入口放在同一张卡片中" icon="book"}
::action{label="阅读 AUP layout 边界" href="/zh/docs/web-device/aup-reference/" variant="primary"}
:::

渲染结果:

继续阅读

把多个导航入口放在同一张卡片中

阅读 AUP layout 边界

在内容 Markdown 中,这一行 action 证明的是链接导航。它不证明文档可以执行后台 action,也不代表已经拥有 AFS 或 session 权限。

把多个入口放进 card-group

最外层 fence 必须比里面的 container directive 多一个冒号。下面的 card-group 包住两个 leaf card,所以四个冒号足够:

源代码:

markdown
::::card-group
::link-card{title="内容对象" description="查看内容与元数据" href="/zh/docs/web-device/content-and-objects/" icon="book"}
::link-card{title="AUP 边界" description="查看 page layout 与 AUP tree 的区别" href="/zh/docs/web-device/aup-reference/" icon="layout"}
::::

渲染结果:

失败与限制

情况预期结果
hreflink-card非链接呈现
info-card 上的 href不参与导航
外层 fence 过浅parser 误读子节点;group/卡片可能塌缩
期望 exec 或表单提交超出合同

卡片语法属于 Web Device 的内容读取路径,不是 .web component 的通用输入方式。要覆盖或编写 layout component,见使用与覆盖组件

验证证据

基线2026-08-12 · arc --version2.0.0-beta.32
能力行docs/aup/capability-matrix.md (internal, non-routed) · ::link-card · :::action-card · :::info-card · ::::card-group
实现providers/runtime/web-device/src/content-reader.tscontentCardToAup、card-group)
unit 页link-card · info-card · action-card · card-group
公开路由/zh/docs/web-device/markdown-cards/ · /en/docs/web-device/markdown-cards/
本地运行arc service start --blocklet blocklets/arcblock --port 4900 · 点击 link-card → 仅普通导航
验收source 与卡片一致;缺 href 不是链接;无写入/exec