Skip to content

Commit 1505745

Browse files
committed
docs: 更新 README.md,增加对 VS Code 支持的描述及功能亮点
1 parent 6c11ee2 commit 1505745

2 files changed

Lines changed: 72 additions & 255 deletions

File tree

README-zh.md

Lines changed: 0 additions & 138 deletions
This file was deleted.

README.md

Lines changed: 72 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,26 @@
11
# MindDoc
22

3-
Markdown 优先的结构化大纲编辑器,支持思维导图视图,为 Obsidian 打造
3+
Markdown 优先的结构化大纲编辑器,支持思维导图视图 —— 同时适配 Obsidian 和 VS Code
44

5-
写标准 Markdown,看交互式大纲,切换思维导图——所有数据始终存储在同一个 `.md` 文件中。
5+
写标准 Markdown,看交互式大纲,切换思维导图——所有数据始终存储在同一个 `.md` 文件中。原生 LLM 协作:一键将脑图转为结构化提示词,AI 输出回写即节点。
6+
7+
## 为什么选择 MindDoc
8+
9+
市面上不乏大纲工具和思维导图软件,但 MindDoc 的设计出发点是解决几个被忽略的痛点:
10+
11+
**Markdown 即数据源,而非导出格式。** 大多数思维导图工具把 Markdown 当作导入/导出的二等公民——导出的 md 丢失结构、导入后无法双向同步。MindDoc 让 `.md` 文件成为唯一的真实数据源,编辑结果直接写回原文件,Git 可追踪、任意编辑器可打开。
12+
13+
**为 LLM 协作而生。** `.mind.md` 是标准 Markdown,大模型天然就能读懂和生成。通过"复制为 AI 上下文"功能,一键将当前脑图结构转化为结构化提示词,粘贴给 ChatGPT/Claude 即可获得精准的文档整理、思路扩展或内容润色——AI 的输出拖回来直接就是可编辑的节点。
14+
15+
**本地优先,数据自有。** 不需要注册账号、不需要云同步、不需要付费订阅。所有数据以纯文本文件存在本地,你可以用任何同步工具(Git、iCloud、Syncthing)自行管理。
16+
17+
**拖拽整理 + 键盘高效。** 大纲视图和思维导图视图共享同一套操作模型,拖拽是直观的,键盘是高效的——两者任一视图中的结构调整都会实时反映到另一个视图。
618

719
## 特性
820

921
**双视图**
10-
- 大纲视图:拖拽排序、键盘快捷键、行内编辑
11-
- 思维导图视图:基于 Mind Elixir,支持拖拽重组节点、右键菜单、缩放控制
22+
- 大纲视图:拖拽排序、键盘快捷键、行内编辑、搜索筛选
23+
- 思维导图视图:基于 Mind Elixir,支持拖拽重组、缩放、聚焦
1224
- 一键切换,数据实时同步
1325

1426
**往返保真**
@@ -20,70 +32,26 @@ Markdown 优先的结构化大纲编辑器,支持思维导图视图,为 Obsi
2032
- 拖拽排序(大纲和脑图均支持)
2133
- 行内标题编辑(双击或 F2)
2234
- 快捷键:Tab/Shift+Tab(缩进/提升)、Enter(新建兄弟节点)、Delete(删除)、Ctrl+Z/Y(撤销/重做)
23-
- 任务复选框切换(null → 未选 → 已选 → null)
24-
- 节点详情面板:编辑备注,查看代码块/引用等附属内容
25-
26-
**思维导图增强**
27-
- 右键菜单(添加子节点、删除、编辑等)
28-
- 节点 "+" 按钮快速创建子节点
29-
- Ctrl+滚轮缩放、百分比显示、滑块控制
30-
- 可配置展开方向(左右/上下/右侧/左侧)
31-
32-
**搜索筛选**
33-
- Ctrl+F 按标题搜索节点
34-
- 实时筛选,匹配关键词高亮
35-
- 祖先节点保持可见,不丢失上下文
36-
37-
**嵌入块**
38-
- 在任意 Obsidian 笔记中通过代码块嵌入 MindDoc 视图
39-
- 可配置:视图模式、高度、最大深度、初始折叠状态
40-
- 只读展示,支持视图切换和刷新
41-
42-
````markdown
43-
```minddoc
44-
file: [[我的大纲.mind.md]]
45-
mode: switchable
46-
height: 450
47-
default: outline
48-
```
49-
````
35+
- 任务复选框切换
36+
- 节点详情面板:编辑备注,查看附属内容
5037

5138
**导入导出**
5239
- 导入:OPML(幕布/WorkFlowy)、FreeMind(.mm)
5340
- 导出:OPML、JSON、PNG(脑图视图下)
5441
- 复制为 AI 上下文(结构化提示词,适合粘贴给 ChatGPT/Claude)
5542

56-
**主题适配**
57-
- 自动跟随 Obsidian 亮色/暗色主题
58-
- 脑图配色从 Obsidian CSS 变量派生
59-
60-
## 安装
61-
62-
### 从 Obsidian 社区插件安装
63-
64-
设置 → 第三方插件 → 浏览 → 搜索 "MindDoc"。
65-
66-
### 手动安装
67-
68-
1. 从 Release 页面下载 `main.js``manifest.json``styles.css`
69-
2. 创建文件夹 `<仓库>/.obsidian/plugins/minddoc/`
70-
3. 将三个文件复制进去
71-
4. 在设置 → 第三方插件中启用 "MindDoc"
72-
73-
## 使用方法
43+
## 平台支持
7444

75-
### 创建 MindDoc 文件
45+
| 平台 | 包名 | 说明 |
46+
|------|------|------|
47+
| [Obsidian](packages/obsidian/) | `@minddoc/obsidian` | 社区插件,支持嵌入块、移动端 |
48+
| [VS Code](packages/vscode/) | `vscode-minddoc` | Custom Editor 扩展,原生撤销/重做集成 |
7649

77-
以下任一方式:
78-
- 命令面板:「MindDoc: 创建 MindDoc 文件」
79-
- 直接创建 `.mind.md` 后缀的文件
80-
- 在任意 Markdown 文件的 frontmatter 中添加 `minddoc: true`
50+
两个平台共享同一个核心引擎 [`@minddoc/core`](packages/core/)
8151

82-
### 文件格式
52+
## 文件格式
8353

84-
MindDoc 使用标准 Markdown,详细格式规范见 [mind.md 格式规范](docs/format-spec.md)
85-
86-
简要示例:
54+
MindDoc 使用标准 Markdown。标题成为树的分支,列表成为叶节点:
8755

8856
```markdown
8957
---
@@ -101,13 +69,13 @@ heading-depth: 3
10169

10270
## 第二阶段
10371

104-
- [ ] 开发实现
105-
- [x] 测试验证
72+
- 开发实现
73+
- 测试验证
10674
```
10775

108-
`heading-depth`(默认 3)控制标题转列表的分界线。深度 1–N 输出为标题,更深的节点输出为列表项
76+
`heading-depth`(默认 3)控制标题转列表的分界线。详见 [格式规范](docs/format-spec.md)
10977

110-
### 快捷键
78+
## 快捷键
11179

11280
| 按键 | 功能 |
11381
|------|------|
@@ -121,74 +89,61 @@ heading-depth: 3
12189
| Ctrl+Z | 撤销 |
12290
| Ctrl+Shift+Z | 重做 |
12391
| Ctrl+F | 搜索 |
124-
| Ctrl+滚轮 | 缩放脑图 |
125-
126-
### 命令列表
127-
128-
| 命令 | 说明 |
129-
|------|------|
130-
| 创建 MindDoc 文件 | 新建 .mind.md 文件 |
131-
| 以 MindDoc 打开当前文件 | 将当前文件以 MindDoc 视图打开 |
132-
| 切换视图(大纲 ↔ 脑图) | 在大纲和思维导图间切换 |
133-
| 展开全部节点 | 展开所有折叠的节点 |
134-
| 折叠全部节点 | 折叠所有节点 |
135-
| 导入 OPML 文件 | 从 OPML 导入(支持幕布) |
136-
| 导入 FreeMind 文件 | 从 .mm 文件导入 |
137-
| 导出为 OPML | 导出为 OPML 格式 |
138-
| 导出为 JSON | 导出树结构为 JSON |
139-
| 导出为 PNG | 导出脑图为 PNG 图片 |
140-
| 复制为 AI 上下文 | 复制结构化内容用于 AI 对话 |
141-
142-
## 设置项
143-
144-
| 设置 | 默认值 | 说明 |
145-
|------|--------|------|
146-
| 默认视图 | 大纲 | 打开文件时的默认视图 |
147-
| 默认标题深度 | 3 | 标题最大层级,超过后转为列表项 |
148-
| 自动保存延迟 | 300ms | 编辑后写入文件的防抖延迟 |
149-
| 大纲字体大小 | 14px | 大纲视图字体大小 |
150-
| 显示备注预览 | 开启 | 在节点标题旁显示 note 首行 |
151-
| 脑图方向 | 左右展开 | 思维导图展开方向 |
152-
| 虚拟滚动 | 开启 | 大文件自动启用虚拟滚动 |
153-
| 虚拟滚动阈值 | 200 | 节点数超过此值时启用 |
154-
| 嵌入块默认高度 | 400px | 嵌入块默认显示高度 |
15592

15693
## 开发
15794

15895
```bash
159-
npm install
160-
npm run dev # 监听模式
161-
npm run build # 生产构建
162-
npm test # 运行测试(125 个)
163-
npm run typecheck # TypeScript 类型检查
96+
pnpm install # 安装依赖
97+
pnpm build # 构建所有包
98+
pnpm test # 运行核心引擎测试(125 个测试)
99+
pnpm typecheck # 全包类型检查
164100
```
165101

166102
### 项目结构
167103

168104
```
169-
src/
170-
core/ # 纯逻辑层(解析器、序列化器、操作、撤销、哈希)
171-
views/ # Preact 组件(大纲、脑图、嵌入块)
172-
components/ # 子组件(OutlineNode、DetailPanel、SearchBar 等)
173-
bridge/ # Mind Elixir 集成(数据转换 + 主题适配)
174-
importers/ # OPML、FreeMind 导入器
175-
exporters/ # OPML、JSON、图片导出器
176-
commands/ # AI 命令(复制为 AI 上下文)
177-
settings/ # 插件设置
178-
utils/ # 工具函数
179-
tests/ # Vitest 测试套件(9 个文件,125 个测试)
180-
examples/ # 示例 .mind.md 文件
181-
docs/ # 文档(格式规范等)
105+
packages/
106+
core/ # 共享核心引擎(解析器、序列化器、操作、撤销、导入导出)
107+
obsidian/ # Obsidian 插件
108+
vscode/ # VS Code 扩展
109+
docs/
110+
format-spec.md # .mind.md 格式规范
111+
快速上手.md # 用户快速入门
112+
功能指南.md # 完整功能文档
113+
进阶技巧.md # 进阶使用技巧
114+
examples/ # 示例 .mind.md 文件
182115
```
183116

184117
### 技术栈
185118

186-
- TypeScript 5.4(严格模式,ES2022)
187-
- Preact + @preact/signals(UI 渲染)
188-
- unified/remark(Markdown 解析,含 GFM 和数学公式支持)
189-
- Mind Elixir v4(思维导图渲染)
190-
- esbuild(打包构建)
191-
- Vitest(单元测试)
119+
- **工程**:pnpm workspaces monorepo、TypeScript 5(严格模式)
120+
- **核心**:unified/remark(Markdown 解析)、tsup(库打包)
121+
- **UI**:Preact + @preact/signals、Mind Elixir v4(思维导图)
122+
- **构建**:esbuild(Obsidian 插件 + VSCode 扩展双目标)
123+
- **测试**:Vitest
124+
125+
### 包开发
126+
127+
```bash
128+
# 开发 Obsidian 插件(监听模式)
129+
pnpm --filter @minddoc/obsidian dev
130+
131+
# 开发 VS Code 扩展(监听模式)
132+
pnpm --filter vscode-minddoc dev
133+
134+
# 只构建核心包
135+
pnpm --filter @minddoc/core build
136+
137+
# 运行测试
138+
pnpm --filter @minddoc/core test
139+
```
140+
141+
## 文档
142+
143+
- [快速上手](docs/快速上手.md) — 5 分钟入门
144+
- [功能指南](docs/功能指南.md) — 完整功能文档
145+
- [进阶技巧](docs/进阶技巧.md) — 高效使用方法
146+
- [格式规范](docs/format-spec.md) — .mind.md 文件格式详解
192147

193148
## 许可证
194149

0 commit comments

Comments
 (0)