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 实现:

  1. 声明你支持的 spec 版本(v0.5+ / v0.6+ / v1.0+)
  2. 不识别的 DSL 块显示为代码块字面量(plain-text fallback——参考 Plain-text fallback principle)
  3. 遇到 spec 不熟的 modifier忽略(向前兼容)
  4. 跑 spec 自带的 conformance test(计划在 v1.0 发布——目前手工对照)

See also