Simplify the `DocDialog` component by removing hardcoded property tables and syntax blocks. Instead, rely on the raw markdown body provided in the `DocEntry` to render documentation content. This shifts the responsibility of formatting (syntax, props, etc.) from the component to the individual markdown files, allowing for more flexible and detailed documentation.
1.8 KiB
1.8 KiB
tag, icon, title
| tag | icon | title |
|---|---|---|
| md-table | 📊 | 表格组件 |
将 CSV 数据转换为可切换标签页的表格,支持内联 CSV、随机抽取、加权随机和变量引用。
语法: :md-table[./data.csv]{选项}
基础表格:
:md-table[./npcs.csv]
带随机抽取:
:md-table[./encounters.csv]{roll=true}
随机 + 变量引用:
:md-table[./quests.csv]{roll=true remix=true}
内联 CSV(直接写入内容):
:md-table[label,body,group
A,这是一段描述,第一章
B,另一段描述,第二章]{}
支持通过文件路径加载 CSV,也可以直接将 CSV 数据内联写在指令中。CSV 要求包含 label、body 列,可选 group 列分组。
分组
当 CSV 包含 group 列时,表格顶部会显示分组标签页,可切换查看不同分组的数据。
随机抽取
当 roll=true 时,表格顶部显示 🎲 随机按钮:
- 普通随机:从所有行中均匀随机选取
- 加权随机:当
label列全部为整数或整数范围格式(如1-3)时,以 label 值为权重进行加权随机抽取
变量引用
当 remix=true 时,body 列中可使用 {{prop}} 语法引用同行其他列或 YAML front matter 中的数据。开启 remix 后每次随机抽取会从所有行中随机选取一行来解析变量。
YAML Front Matter
CSV 文件可包含 YAML front matter(文件开头的 --- 块),其中定义的属性可通过 {{prop}} 在 body 中引用。
属性
| 属性 | 类型 | 说明 |
|---|---|---|
roll |
boolean | 显示随机切换按钮 |
remix |
boolean | 支持 {{prop}} 引用同行其他列 |
使用场景
用于 NPC 列表、遭遇表、宝物生成、随机事件等结构化数据。