支持的内容块
按写作目的理解当前支持的 canonical 块和 inline marks。
当前 Anydocs 开放 11 种 canonical 块类型、标题和列表变体,以及 5 种行内样式。更重要的不是把名字背下来,而是知道什么时候该用结构块,什么时候只用轻量文本强调。对用户交付和 AI 交付来说,优先写出结构清晰的 canonical content,远比留下一段 markdown 占位文本更有价值。
结构与叙述块
基础结构块包括 `paragraph`、`heading`、`list`、`blockquote`。其中 `heading` 带 1-3 级,`list` 带 `bulleted`、`numbered`、`todo` 三种样式。最常用的是段落和二三级标题。reader 会从二三级标题提取目录,因此正文主结构应优先围绕 heading level 2 / 3 组织。
- `heading` level 1 只在确实需要页内主标题时使用
- reader 已经单独显示页面标题
- 列表适合步骤、选项、检查项,不适合替代层级标题
技术说明块
技术型块包括 `codeBlock`、`codeGroup`、`table`、`mermaid`。当你写安装命令、配置片段、API 调用、参数矩阵或流程说明时,应优先使用这些结构化块,而不是把内容塞进普通段落。
- `codeBlock` 适合单一语言或单一命令示例
- `codeGroup` 适合同一操作的多语言或多包管理器写法
- `table` 适合参数、字段、版本对照
- `mermaid` 适合流程图、状态图和简单时序图
提示与展示块
提示与展示类块包括 `callout`、`image`、`divider`。行内 `link` 节点应放在周围文本里。它们更适合承担强调、视觉辅助和阅读节奏分隔,而不是承载正文主结构。
- `callout` 用来放警告、注意事项、发布边界
- `image` 适合截图、流程图、示意图
- 行内 `link` 节点适合正文中的普通引用,不是页面布局组件
- `divider` 只在确有明显分段需求时使用
行内样式什么时候用
当前支持 5 种 inline marks:`bold`、`italic`、`underline`、`strike`、`code`。它们只适合局部强调,不能代替块级结构。命令名、参数名、路径、环境变量与短标识符,优先用行内 `code`;篇幅较长的内容则应转成独立代码块。
AI authoring 的最低要求
如果你通过 MCP 让 agent 写页面,尽量提交 canonical `DocContentV1` 或模板化输入,而不是只有 markdown 字符串。`page_create_from_template` / `page_update_from_template` 往往比手拼大段 content 更稳;如果必须直接写 content,也要确保 block 类型来自允许的 canonical 列表。