Skip to content

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: 列表项太多导致卡顿?

  1. 拆分为多个笔记文件
  2. 使用 Dataview 查询代替超长列表
  3. 对已完成的任务使用折叠标记

Q: 如何导出为思维导图?

  1. 使用 Outliner 维护结构
  2. 复制为 Markdown
  3. 使用 Markdown 导图工具(如 Markmap)转换为思维导图

Q: 列表项的层级关系丢失?

确保使用一致的缩进(全部空格或全部 Tab),混合使用会导致层级识别错误。