Rho format spec
Rho format 的完整规范文档——给 implementer 看的精确定义(不是给写作者 / 集成方)。
完整规范
→ AINP 协议(v0.7)——就托管在 rho.md 上,整份文档一页看完(英文)
涵盖:
- 所有 15 capability 的精确语法
- 解析器行为约定
- 输出 HTML 结构(class 命名、data attributes)
- 渲染语义(hydration 时机、state 共享、嵌套规则)
- mini DSL 表达式语法(完整 BNF)
- SVG sanitizer 白/黑名单
- Plain-text fallback 要求
License: spec 是 CC BY 4.0 —— 任何人都能基于它实现 reader(不需要 commercial license)。
历史版本
| 版本 | 发布日期 | 主要变化 |
|---|---|---|
| v0.0 | 2026-01-15 | 初版:5 静态 + 7 交互 = 12 capability |
| v0.1 | 2026-01-28 | spec 形式化、HTML 输出标准化 |
| v0.2 | 2026-02-10 | namespace 共享 state |
| v0.3 | 2026-02-25 | nested DSL inner processor |
| v0.4 | 2026-03-15 | computed 派生值 |
| v0.5 | 2026-04-22 | timer 自动播放动画 |
| v0.6 | 2026-05-08 | SVG scenes |
| v0.7 | 2026-06-14 | table / media / quiz / branch(当前最新) |
兼容性 / SemVer
@rho/md 从 v1.0 起按 strict SemVer:
- patch(1.0.x):bug fix,spec 行为不变
- minor(1.x.0):新 capability,向后兼容
- major(2.0.0):可能破坏旧 capability 行为
当前 v0.x 是 pre-stable——任何变化都可能(包括 spec breaking)。生产用 v1.0 起。
实现 reader 时的兼容性建议
如果你做自己的 reader 实现:
- 声明你支持的 spec 版本(
v0.5+/v0.6+/v1.0+) - 不识别的 DSL 块显示为代码块字面量(plain-text fallback——参考 Plain-text fallback principle)
- 遇到 spec 不熟的 modifier忽略(向前兼容)
- 跑 spec 自带的 conformance test(计划在 v1.0 发布——目前手工对照)
See also
- Implementing your own reader — 不用
@rho/md自实现的 walkthrough - Writer's Guide — capability 的"how to use"角度
- API reference —
@rho/md实现细节 - AINP 协议(v0.7) — 全文,就在本站(英文)