語法結構

Markdown+ 文件由 一份 H1 標題 + 一段引言 + 多個 bullet-list block 組成。每個 block 的開頭固定格式:

- **#<kebab-case-id>** `type:<value>` `<key>:<value>` ...
  <block body, 縮排 2 spaces, 任意合法 Markdown>

  - **#<child-id>** `type:<value>` ...
    <子 block, 縮排 4 spaces>

組成元素

元件規則純 Markdown 渲染Markdown+ viewer 渲染
Bullet- 圓點section 邊界
Block ID**#kebab-id**粗體 hashtaganchor + id=""
Metadatainline code `key:value`monospace badge解析為 attribute
父子nested bullet list 縮排自然縮排<section> 巢狀

受控 metadata 字彙表

type: (block 主類型,closed list)

需要擴充必須用 x- 前綴。

type用途
state描述當前事實 / 現況
history已不適用的歷史(預設摺疊)
decision決策紀錄
record事件紀錄 (會議、incident)
issue待解問題 / blocker
note補充說明
spec規格 / 技術說明
task待辦 / action item
reference外部連結彙整
figure / table / chart / diagram視覺資料
kpi / gauge / targets / dashboard / card儀表板元件
dialogue / turn對話容器與輪次
step教學 / runbook 步驟

status: (closed list)

draft active proposed accepted rejected superseded deprecated archive healthy degraded down on-track behind exceeded done blocked open closed

其他常用 metadata

  • updated:YYYY-MM-DD — ISO 日期
  • visibility:collapsed — viewer 預設摺疊
  • priority:high|normal|low|critical
  • tags:[domain:auth,team:platform] — 用 namespace
  • superseded-by:<id> — 指向替代者
  • related:[id1,id2]
  • variant-group:install + variant:mac — 同 group 的 sibling 會被 viewer 聚合成 tab
  • KPI: value: target: delta: unit:
  • Gauge: value: min: max: target: zones:[99:red,99.9:amber,99.95:green]

必須遵守的約束關係

  • status:deprecated ⇒ 必有 superseded-by:<id>
  • type:historyvisibility:collapsed
  • type:kpivalue:,且與 prose 段數字一致
  • type:gaugevalue: min: max: target: zones: 全要
  • 同層共用 variant-group: 的 sibling 必須各有不同 variant:
  • 每個 figure / chart / table / kpi / gauge / video / audio 必須有 prose companion 段
  • 表格 > 30 列必須用 data-source:./data/<name>.csv

禁止清單 (lint error)

禁止項替代
:::block fenced divbullet list block
Raw HTML 容器 (div / span / section ...)由 viewer 從 metadata 生成
<script> / <style>留給 viewer
class="" / style=""留給 viewer
Inline data:image/...;base64,...外部相對路徑
Inline <svg>![alt](./path.svg)
巨型 inline chart spec (>80 行)拆到 ./charts/*.json
巨型 inline 表格 (>30 列)拆到 ./data/*.csv
寫死 caption 編號 (Figure 1:)*Figure: ...*,viewer 自動編號
自由 type:受控字彙表或 x- 前綴

設計理念對照

面向傳統 MarkdownHTMLMarkdown+
對 AI友善但難結構化tag 噪音、token 暴漲block-addressable + 受控 metadata
對人類陽春漂亮但 source 不可讀viewer 渲染漂亮 + source 仍可讀
新 dialect(N/A)無 — 仍是合法 CommonMark
圖片路徑或 base64常用 base64 inline強制路徑,禁 base64
互動 UI需手寫 JS + CSS由 viewer 從 metadata 自動推導