# 🧠 脑图语法规范 · Markdown 大纲

> 这一份只管【脑图】。流程图看 `syntax-flowtext.md`；想一次生成两种图看 `ai-dual-output-syntax.md`。
>
> **真源**：本规范描述的是「原版脑图编译器」`web/terminal/mindmap-compiler/app.js` 里 `mdToTabs()` 的真实行为。
> 规范与实现如有出入，以实现为准 —— 机器闸 `tests/syntax.spec.mjs` 会把下面每个示例真喂给编译器跑一遍。

---

## 一、一句话

**用最普通的 Markdown 大纲写：`#` 标题定层级，`-` 列表挂在最近的标题下面。** 不需要学任何新符号。

## 二、工具认得的写法（这就是全部）

| 你写的 | 会变成 |
|---|---|
| `# 标题` | **中心主题**（整份只写一个） |
| `## 标题` | 一级分支 |
| `### 标题` | 二级分支（依此类推，最多到 `######`） |
| `- 条目` / `* 条目` / `+ 条目` | 挂在**最近那个标题**下面的节点 |
| 两个空格缩进的 `- 条目` | 再降一层（每 2 个空格 = 一层） |
| `1. 条目` / `2. 条目` | 同 `- 条目`，**序号不会进图** |
| `- [ ] 待办` | 节点 + 一个【未勾选】的方框 |
| `- [x] 已办` | 节点 + 一个【已打勾】的方框 |
| `**粗体**` `*斜体*` `` `代码` `` `~~删除线~~` | 符号自动去掉，只留文字 |
| `[文字](网址)` | 只留「文字」，网址丢掉 |
| `> 引用` | 去掉 `>`，文字保留成节点 |
| `---` 分隔线 / ` ``` ` 代码围栏标记行 | 直接忽略，不会变成节点 |
| 制表符（Tab）缩进的纯文本 | **原样放行**（这是编译器自己的原生格式，一个字不改） |

## 三、层级是怎么算出来的（搞懂这条就不会乱）

```
# 中心            → 第 0 层
## 一级           → 第 1 层
### 二级          → 第 2 层
- 条目            → 挂在最近的标题下面，即「最近标题层级 + 1」
  - 缩进条目      → 再 +1（每 2 个空格一层）
```

所以：**列表的深度 = 最近那个标题的深度 + 1 + 缩进层数**。
这也是为什么不要从 `#` 直接跳到 `###` —— 中间会空一层。

## 四、正确示例

```markdown
# 2026 Q3 投研计划
## 一、宏观判断
### 利率路径
- 上半年已见顶
- 下半年可能降两次
  - 若通胀反弹则只降一次
### 通胀
1. 核心通胀回落
2. 服务通胀仍粘
## 二、要盯的三件事
- [x] 建好数据档案
- [ ] 补齐季度财报
- [ ] 跑一遍压力测试
## 三、参考
- [FRED 官网](https://fred.stlouisfed.org) 的月度数据
- `combo.py` 全套餐输出
> 结论先行：先看利率，再看盈利
```

## 五、内容要求（图好不好看，全看这几条）

- 每个条目 **≤20 字**，是短语不是整段话。整段话会让节点变成一堵墙。
- 同一层之间**互斥**，不要互相包含。
- 层级建议 **3-5 层**；再深就该拆成两张图。
- 保留原文的**关键数字、专有名词、结论**；不要编造原文没有的东西。
- 一份只有**一个** `#`。写了两个 = 冒出两个中心，图会散。

## 六、常见错误（工具不会报错，但图会难看）

| ✗ 错误写法 | 会发生什么 | ✓ 改成 |
|---|---|---|
| 写了好几个 `# 一级标题` | 冒出多个中心，图散成几块 | 只留一个 `#`，其余降成 `##` |
| Markdown 表格 `\| a \| b \|` | 整行当成一个节点，很难看 | 拆成 `-` 条目 |
| HTML 标签 `<div>` | 当成文字进节点 | 别写 HTML |
| 一个条目写成一整段话 | 节点变成一堵墙 | 拆成 3-5 个短条目 |
| `#` 直接跳到 `###` | 中间空一层 | 按 `#` → `##` → `###` 递进 |
| 分区外还写「以下是脑图：」 | 在双图工作台里会被自动丢掉 | 别写前言 |

## 七、给 AI 的一段指令（复制即用）

```
请把我下面的内容整理成一张脑图，用 Markdown 大纲写，只输出大纲本身，不要前言和总结。

规则：
1. 整份只有一个 # 一级标题，它是中心主题。
2. 层级用 ## / ### 递进（不要从 # 跳到 ###），列表用 - 挂在最近的标题下面，
   要再降一层就缩进两个空格。
3. 每个条目 ≤20 字，是短语不是整句话；同一层之间互斥不重叠；总层级 3-5 层。
4. 待办事项写成 - [ ] ，已完成写成 - [x] 。
5. 保留原文的关键数字、专有名词和结论，不要编造；不要写表格、图片、HTML。

我的内容：__________
```

---
*语法的唯一权威源是 `mindmap-compiler/app.js` 的 `mdToTabs()` + 本目录机器闸；本文档若与它们冲突，以代码与测试为准。*
