用途:在 Basic Memory 笔记里用小而安全的 Comark 块指令(::bm-* … ::)把内容呈现为图形。适合一句话或列表说不清的结构化信息,例如数字、排名、进度、趋势、时间线、看板。
主要能力:常用组件包括 bm-stat、bm-bars、bm-rank、bm-table、bm-meter、bm-spark、bm-funnel、bm-check、bm-kanban、bm-timeline、bm-frame、bm-flow;完整词汇与属性见 references/components.md。需要真实图形、序列或状态机时用 ```mermaid 代码块,而非组件。
使用方式:组件以 ::bm-name{属性} 单独一行开始,以 :: 单独一行结束。数据放在正文中,用 Markdown 行或表格,如 - label: value;粗体表示当前或选中行,斜体表示弱化。属性值用双引号且不能含 ",查询内短语用单引号,例如 query="search 'queue rewrite'"。任务状态用 - [ ] 和 - [x],在 bm-check 与 bm-kanban 中可在渲染笔记里勾选。不要写 HTML、脚本、样式或 class,也不要把组件放进代码围栏。只用注册过的属性,未知属性会以 prop-unknown 警告帧显示,不会静默丢弃。
实时视图:带 query 属性的组件显示所在项目的当前数据。管道从左到右读:数据源(notes、search 'phrase'、activity 7d|30d),再接可选阶段,顺序为 where、group、count 或 sum field、fields、sort、limit(1–50)。图表、排名和条形图需要每行一个数字,可加 group field、count 或 sum field,或使用 search 源;spark、KPI 和 plot 需要多行;bm-table 用 fields;bm-timeline 用 activity 不带 daily;bm-activity 用 activity 30d | daily。notes 视图是索引 frontmatter 上的精确计数,search 视图是排序且有限的匹配,应称 matches,不要称“全部”。
限制与错误:写实时视图后应回读确认有行,否则可能在正文引用了空视图。仅浏览器执行查询,其他地方需自行等效读取。实时图表正文是其快照,实时数据加载失败时读者看到这些行;新实时视图正文可能为空,可在编辑器中用 Freeze snapshot 填充。修改已有组件用 edit_note 的 find_replace 改指令行或行内容,不要整篇重写。必须保留结尾 ::,有正文但缺结尾会产生 directive-unclosed。常见错误包括 prop-unknown、query-measure、query-series、query-escaped-quote、query-field、query-operator、query-stage-order、chart-body-empty、chart-body-number。write_note 与 edit_note 会在结果的 Component problems 下列出问题,不阻止写入,应尽快用 edit_note 修复。comark(7)(memory://man/comark(7))是语法与错误码的快速参考。不要在笔记中编造组件,未知名称如 ::bm-pie 不会被绘制,会显示原始文本。