Swap emoji and unicode glyphs for Tabler components so icons inherit currentColor and font-size and render consistently across platforms. - add src/components/doc-icons.ts to resolve doc-entry frontmatter icon keys to components; frontmatter now stores semantic keys - replace the align-*.png assets with TbOutlineAlign* icons - render RevealManager action SVGs as components instead of injected innerHTML strings - carry completion icons via an optional CompletionItem.icon field
1.8 KiB
1.8 KiB
tag, icon, title
| tag | icon | title |
|---|---|---|
| md-table | 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 列表、遭遇表、宝物生成、随机事件等结构化数据。