Migrate GM action button injection from imperative DOM manipulation to a reactive Solid component (`RevealManager`) using `Portal`. This improves cleanup reliability and ensures buttons are proper Solid components rather than raw HTML strings injected into the DOM. Also adds URI encoding for link paths and simplifies the reveal store logic. |
||
|---|---|---|
| .husky | ||
| .idea | ||
| content | ||
| docs | ||
| src | ||
| .gitignore | ||
| QWEN.md | ||
| README.md | ||
| jest.config.js | ||
| package-lock.json | ||
| package.json | ||
| rsbuild.config.ts | ||
| todo.md | ||
| tsconfig.cli.json | ||
| tsconfig.json | ||
README.md
TTRPG Tools
一个基于 solid.js 和 rsbuild 的 TTRPG 工具箱,支持 Markdown 解析、自定义组件和 CLI 工具。
快速开始
# 安装依赖
npm install
# 全局安装 CLI
npm link
# 预览内容
ttrpg serve ./content
文档导航
| 文档 | 说明 |
|---|---|
| 📖 CLI 使用说明 | CLI 安装、命令和用法 |
| 🛠️ 开发指南 | 项目结构、开发规范和构建 |
| 📝 Markdown 编写说明 | Markdown 语法和组件用法 |
| 📊 CSV 编写说明 | CSV 文件格式、字段定义、变量语法 |
| 🤖 MCP 服务器说明 | AI 助手集成、卡牌生成工具 |
功能概览
- CLI 工具:
serve预览模式 和compile编译模式 - Markdown 解析: 支持指令语法、YAML 标签、mermaid 图表
- TTRPG 组件: 骰子、表格、卡牌、标记、命令追踪器等
核心组件
| 组件 | 语法 | 说明 |
|---|---|---|
| 🎲 骰子 | :dice[2d6+d8] |
掷骰并记录结果 |
| 📊 表格 | :table[./data.csv] |
标签页式表格 |
| 🃏 卡牌 | :md-deck[./cards.csv] |
卡牌布局 |
| 📍 标记 | :md-pin[A]{x=40 y=40} |
图片标记 |
| 📋 追踪器 | :md-commander |
命令历史和状态追踪 |
技术栈
- 前端: Solid.js 1.9+
- 构建: Rsbuild
- 样式: Tailwind CSS 4
- Markdown: marked + marked-directive
- 测试: Jest
许可证
MIT