Outliner 插件高级使用案例
本文介绍 Outliner 插件的进阶使用技巧,涵盖复杂列表结构、自动化工作流和与其他插件的深度配合。
高级列表语法
多级折叠结构
利用 :: 语法构建默认折叠的多级大纲:
markdown
# 知识管理系统
## 📚 信息输入 (3)
- RSS 订阅
- 播客笔记
- 网页剪藏::
- 使用 Bionic Reading 提高阅读效率
- 建立「常读清单」减少信息噪音
- 用 Readwise 统一管理高亮
- 每晚 10 点处理收件箱
- 每周六 2 小时深度阅读
## ✏️ 信息加工 (2)
- 写卡片的 3 个原则
- 渐进式写作流程::
- 闪卡 → 卡片 → 原子笔记
- 每张卡片一个核心观点
- 间隔重复复习
- 每月整理一次卡片盒
## 📤 信息输出 (1)
- 博客文章
- 播客内容
- 视频脚本::
- 建立选题库
- 先写大纲再填充
- 用语音输入提高效率展开/折叠状态指示
在列表项中添加展开状态标记:
markdown
## 项目管理 ▼
- 需求分析
- 用户访谈 ▼
- 访谈记录 1
- 访谈记录 2
- 竞品调研 ▶ <!-- 默认折叠 -->
- PRD 文档 ▶ <!-- 默认折叠 -->
## 开发进度 ▶ <!-- 默认折叠 -->列表操作宏
结合 Obsidian 的 Templates 或 Templater,可以创建可复用的列表操作宏。
一键生成项目结构
markdown
<%*
const project = await tp.system.prompt("输入项目名称:");
const today = tp.date.now("YYYY-MM-DD");
-%>
# <% project %>
## 目标
-
## 里程碑
- [ ] M1: 需求确认 📅 <% today %>
- [ ] M2: 设计评审 📅 <% today %>
- [ ] M3: 开发完成 📅 <% today %>
- [ ] M4: 测试通过 📅 <% today %>
- [ ] M5: 上线部署 📅 <% today %>
## 任务分解
- [ ] 任务 1
- 子任务 A
- 子任务 B
- [ ] 任务 2
- 子任务 C
## 风险点
-
## 资源需求
- 人力:
- 技术:
- 时间:会议记录模板
markdown
<%*
const meetingTitle = await tp.system.prompt("会议名称:");
const attendees = await tp.system.prompt("参会人(逗号分隔):");
const date = tp.date.now("YYYY-MM-DD");
-%>
# <% meetingTitle %> | <% date %>
**参会人**: <% attendees %>
## 议程
1.
## 讨论内容
-
## 决策
- [ ] 决策 1
## 待办事项
- [ ] @某人:
## 下次会议
- 日期:
- 议题:与 Kanban 插件联动
Outliner 的列表结构可以与 Kanban 插件无缝配合。
列表 → 看板迁移
在 Outliner 中维护结构化任务,然后导出到看板:
markdown
# 任务池
## 🔴 紧急
- [ ] 紧急修复 P0
## 🟡 中等
- [ ] 功能优化
## 🟢 规划中
- [ ] 新功能调研在 Kanban 中创建对应的列,拖入相关任务。Outliner 保持层级结构,Kanban 展示进度视图。
双向同步
使用 Dataview 将 Kanban 看板数据回写到 Outliner 列表:
dataview
```meta
type: task
```
TABLE file.link AS 任务, status AS 状态
FROM "05 - Kanban"
WHERE contains(status, "In Progress")
SORT file.mtime DESC复杂任务管理
OKR 追踪
使用 Outliner 构建 OKR 追踪系统:
markdown
# 2026 Q2 OKR
## 🎯 目标一:提升产品体验
### 关键结果 1.1
- [x] 用户调研报告
- [ ] 5 个核心问题修复
- 问题 1
- 问题 2
- 问题 3
- 问题 4
- 问题 5
- [ ] NPS 提升至 40
### 关键结果 1.2
- [x] 新版首页上线
- [ ] 转化率提升 15%
## 🎯 目标二:提升团队效率
### 关键结果 2.1
- [ ] 部署自动化率 100%
- [ ] CI/CD 流程优化
- 单元测试覆盖率 80%
- 集成测试覆盖核心流程习惯追踪
markdown
# 🏃 习惯追踪
## 每日习惯
- [ ] 早起 06:30 ✓
- [ ] 晨跑 30 分钟 ✓
- [ ] 冥想 10 分钟
- [ ] 阅读 30 分钟
- [ ] 日记记录
## 本周进度
- [x] 周一
- [x] 周二
- [ ] 周三
- [ ] 周四
- [ ] 周五
## 月度目标
- [ ] 跑步 100 公里 ████████░░░░ 80%
- [ ] 读完 4 本书 ██░░░░░░░░ 2/4
- [ ] 冥想 30 天 ████████░░░░ 24/30大纲可视化
缩进可视化
在代码块中使用 Mermaid 流程图展示列表层级:
mermaid
flowchart TB
A[项目] --> B[模块 1]
A --> C[模块 2]
A --> D[模块 3]
B --> B1[子任务 1.1]
B --> B2[子任务 1.2]
C --> C1[子任务 2.1]
C --> C2[子任务 2.2]
C --> C3[子任务 2.3]
D --> D1[子任务 3.1]Dataview 大纲统计
dataview
TABLE
length(filter(file.lists, l => !l.checked)) AS 待办,
length(filter(file.lists, l => l.checked)) AS 已完成,
length(file.lists) AS 合计
FROM "04 - Projects"
WHERE file.mtime >= date(today) - dur(7 days)
SORT length(file.lists) DESC工作流自动化
列表项自动归档
使用 Obsidian Shell Commands 或 QuickAdd 宏,自动将完成的任务移动到归档区:
javascript
// 归档已完成的子任务
const content = app.workspace.getActiveFile();
if (content) {
const file = app.vault.getAbstractFileByPath(content.path);
const lines = (await app.vault.read(file)).split('\n');
const archived = lines.map(line => {
if (line.includes('- [x]')) {
return line.replace('- [ ]', '- [x]')
+ ' 📅 ' + moment().format('YYYY-MM-DD');
}
return line;
}).join('\n');
await app.vault.modify(file, archived);
new Notice('已归档 ' +
lines.filter(l => l.includes('- [x]')).length + ' 项');
}列表项批量升级
按住 Ctrl 并拖动多个列表项,一次性移动整组任务:
按住 Ctrl + 拖拽的效果:
├─ 项目 A
│ ├─ 任务 1 ← 选中
│ ├─ 任务 2 ← 选中
│ └─ 任务 3 ← 选中
└─ 项目 B
拖拽后:
├─ 项目 A
└─ 项目 B
├─ 任务 1 ← 一起移动
├─ 任务 2
└─ 任务 3与其他插件深度配合
Outliner + Dataview
dataview
TABLE
default(row.关键结果, "—") AS 关键结果,
length(filter(row.children, c => !c.checked)) AS 待办,
length(filter(row.children, c => c.checked)) AS 已完成
FROM "05 - OKR"
WHERE structure(tasks) = "list"
FLATTEN file.tasks AS 关键结果Outliner + Kanban
在 Kanban 看板中查看 Outliner 维护的任务池:
markdown
<!-- Kanban 看板数据源 -->
# 任务池
## 🔴 高优
- [ ] P0 紧急任务
## 🟡 中优
- [ ] 功能优化
## 🟢 低优
- [ ] 技术债务Outliner + Tasks
markdown
- [ ] 09:00 晨会 📅 2026-06-09 🔁 every weekday
- [ ] 每周同步会议 📅 every Friday
- [ ] 月度回顾 📅 2026-06-30常见问题
Q: 如何在大列表中快速定位?
使用 Ctrl + F 搜索关键词,或在命令面板输入 Outliner: Jump to parent,跳转到当前项的父级。
Q: 列表项太多导致卡顿?
- 拆分为多个笔记文件
- 使用 Dataview 查询代替超长列表
- 对已完成的任务使用折叠标记
Q: 如何导出为思维导图?
- 使用 Outliner 维护结构
- 复制为 Markdown
- 使用 Markdown 导图工具(如 Markmap)转换为思维导图
Q: 列表项的层级关系丢失?
确保使用一致的缩进(全部空格或全部 Tab),混合使用会导致层级识别错误。