数据迁移
概述
迁移到 Obsidian 是一个重要的决定。本指南将帮助你从各种主流笔记软件平滑迁移数据,保留原有内容和格式。
迁移前准备
评估现有数据
迁移前先评估:
yaml
需要了解:
数据量:
- 笔记总数
- 附件大小
- 特殊格式数量
特殊功能:
- 数据库/表格
- 嵌入内容
- 外部链接
- 标签系统
使用习惯:
- 笔记结构
- 标签方式
- 链接习惯备份数据
迁移前务必备份:
- 导出原平台数据
- 保存到安全位置
- 验证备份完整性
规划迁移策略
yaml
迁移策略:
方式一: 一次性全量迁移
优点: 快速完成
缺点: 可能需要大量后续整理
适合: 数据量较小
方式二: 渐进式迁移
优点: 边迁移边优化
缺点: 耗时较长
适合: 数据量大、结构复杂
方式三: 新旧并行
优点: 平滑过渡
缺点: 维护成本高
适合: 需要长期过渡从 Notion 迁移
Notion 是最常见的迁移来源。以下是详细步骤。
导出 Notion 数据
单页面导出
yaml
步骤:
1. 打开要导出的页面
2. 点击右上角「...」菜单
3. 选择「Export」
4. 选择格式: Markdown & CSV
5. 勾选「Include subpages」
6. 勾选「Create folders for subpages」
7. 点击「Export」批量导出
yaml
步骤:
1. 进入 Settings & Members
2. 选择「Settings」→「Export」
3. 选择导出格式
4. 等待导出完成
5. 下载 ZIP 文件格式转换处理
Notion 导出的 Markdown 需要处理:
数据库转换
Notion 数据库会导出为 CSV 文件:
yaml
处理方式:
方式一: 保持 CSV
- 直接使用
- 用 Dataview 插件查询
方式二: 转为笔记
- 每行转为独立笔记
- 使用属性存储字段
方式三: 转为表格
- 使用 Markdown 表格
- 手动调整格式特殊块处理
| Notion 元素 | 导出结果 | 处理方法 |
|---|---|---|
| Callout | 引用块 | 转换为 Obsidian Callout |
| Toggle | 带缩进的列表 | 手动调整结构 |
| 公式 | LaTeX | 通常可直接使用 |
| 书签 | 链接 | 需要手动修复 |
| 嵌入块 | 链接 | 可能需要重新嵌入 |
使用转换工具
推荐使用专门的转换工具:
Notion to Obsidian Converter
yaml
功能:
- 自动转换 Callout
- 处理数据库
- 修复链接格式
- 转换标签
安装:
npm install -g notion-to-obsidian
使用:
notion2obsidian ./notion-export ./obsidian-vault标签迁移
Notion 的标签系统需要转换:
yaml
Notion 标签格式: #Tag
Obsidian 标签格式: #tag
转换建议:
- 统一使用小写
- 使用连字符代替空格
- 建立标签层级结构链接迁移
Notion 链接需要手动修复:
markdown
Notion 链接: [[页面名]]
Obsidian 链接: [[笔记名]]
自动修复:
- 使用插件 "Migrate to Obsidian"
- 批量替换链接格式从 Roam Research 迁移
Roam Research 使用大纲式笔记,迁移需要特别处理。
导出数据
yaml
步骤:
1. 点击右上角「...」
2. 选择「Export All」
3. 选择格式: Markdown
4. 勾选「Include embeds」
5. 点击「Export All」格式转换
大纲结构
Roam 的缩进结构需要处理:
markdown
Roam 格式:
- 主节点
- 子节点
- 孙节点
Obsidian 建议:
- 主节点
- 子节点
- 孙节点
或使用标题:
# 主节点
## 子节点
### 孙节点双向链接
markdown
Roam 链接: [[页面]]
Obsidian 链接: [[页面]]
# 基本兼容,但块引用不同
Roam 块引用: ((block-id))
Obsidian 块引用: [[笔记名^block-id]]日期页面
yaml
Roam 日期格式: February 15th, 2024
Obsidian 日期格式: 2024-02-15
转换建议:
- 使用日记插件
- 重命名日期笔记
- 使用 Templater 格式化使用转换插件
Roam to Obsidian Migration
yaml
功能:
- 转换大纲结构
- 修复块引用
- 转换日期格式
- 处理标签
使用步骤:
1. 安装插件
2. 导入 Roam 导出文件
3. 选择转换选项
4. 执行转换从 Evernote 迁移
Evernote 是老牌笔记软件,数据迁移相对简单。
导出数据
yaml
步骤:
1. 打开 Evernote 客户端
2. 选择要导出的笔记本
3. 右键 →「导出笔记」
4. 选择格式: .enex
5. 保存文件使用转换工具
Evernote to Obsidian
yaml
工具选择:
- Yarle: 功能强大的转换工具
- evernote2md: 简单易用
- Joplin: 中转方案
Yarle 使用:
1. 下载 Yarle
2. 选择 .enex 文件
3. 配置输出选项
4. 执行转换格式处理
| Evernote 元素 | 转换结果 |
|---|---|
| 笔记本 | 文件夹 |
| 标签 | YAML 属性 / 标签 |
| 附件 | 独立文件 |
| 图片 | 本地图片 |
| Web 剪藏 | Markdown 链接 |
从 OneNote 迁移
OneNote 迁移相对复杂,建议使用专门工具。
导出数据
yaml
步骤:
1. 打开 OneNote
2. 选择要导出的笔记本
3. 文件 → 导出
4. 选择格式: PDF 或 Word
5. 保存文件推荐工具
OneNote to Obsidian
yaml
方法一: OneNoteMdExporter
- 支持批量导出
- 保留文件夹结构
- 转换图片附件
方法二: Print to PDF + OCR
- 导出为 PDF
- 使用 OCR 提取文本
- 手动整理
方法三: 中转 Joplin
- OneNote → Joplin
- Joplin → Markdown注意事项
- OneNote 手写内容需要 OCR
- 嵌入对象可能丢失
- 表格格式需要调整
从 Apple Notes 迁移
Apple Notes 迁移可以通过多种方式实现。
导出方法
yaml
方法一: 手动导出
1. 打开 Apple Notes
2. 选择笔记
3. 文件 → 导出为 PDF
4. 转换 PDF 为 Markdown
方法二: 使用脚本
- 导出为文本
- 转换为 Markdown
方法三: 第三方工具
- Notes Exporter
- Apple Notes to Markdown处理特殊内容
| 内容 | 处理方法 |
|---|---|
| 图片 | 另存后重新链接 |
| 手写 | 需要转录或保留图片 |
| 扫描件 | 可能需要 OCR |
| 嵌入链接 | 转换为 Markdown 链接 |
从其他软件迁移
Bear
yaml
导出: 文件 → 导出笔记 → Markdown
转换: 基本兼容,注意处理标签格式
标签: Bear 使用 #tag#,需要改为 #tagUlysses
yaml
导出: 文件 → 导出 → Markdown
转换: 注意处理图片链接
附件: 需要重新组织附件文件夹Logseq
yaml
导出: 设置 → 导出 → Markdown
转换: 大纲格式需要调整
链接: 基本兼容 ObsidianTypora
yaml
迁移: 直接复制 .md 文件
处理: 检查图片链接是否正确
配置: 调整相对路径设置迁移后整理
重建文件夹结构
建议的文件夹结构:
📁 Obsidian 库
├── 📁 00 收集箱
├── 📁 01 项目
├── 📁 02 领域
├── 📁 03 资源
├── 📁 04 归档
├── 📁 附件
├── 📁 模板
└── 📁 日记统一标签系统
yaml
标签规范化:
- 使用小写
- 用连字符分隔
- 建立层级结构
- 避免过度标签
示例:
#项目/进行中
#阅读/书籍
#领域/工作修复损坏链接
使用插件检查和修复链接:
yaml
推荐插件:
- Find unlinked files
- Broken links checker
- Link indexer
修复步骤:
1. 运行链接检查
2. 找出断链
3. 手动修复或重命名文件添加属性
为笔记添加统一属性:
yaml
---
created: 2024-01-15
modified: 2024-01-15
tags: [标签1, 标签2]
source: Notion
status: active
---批量重命名
统一文件命名规范:
yaml
命名规范:
- 使用日期前缀: 2024-01-15-笔记标题
- 或使用序号: 001-项目名称
- 避免特殊字符
批量重命名工具:
- Obsidian 插件: File Cleaner
- 外部工具: PowerRename (Windows)常见问题
迁移后图片无法显示
yaml
原因:
- 图片路径错误
- 图片未正确导出
解决方法:
1. 检查图片是否在附件文件夹
2. 更新图片路径
3. 使用插件修复链接中文文件名乱码
yaml
解决方法:
- 确保系统编码为 UTF-8
- 重新导出时指定编码
- 批量重命名文件数据库数据丢失
yaml
预防措施:
- 导出时选择 CSV 格式
- 检查导出文件完整性
- 重要数据手动备份链接全部失效
yaml
解决方法:
1. 检查文件名是否与链接匹配
2. 使用插件批量修复
3. 手动更新关键链接迁移检查清单
yaml
迁移前:
□ 备份原数据
□ 导出所有内容
□ 记录特殊格式
□ 规划文件夹结构
迁移中:
□ 使用转换工具
□ 检查导出结果
□ 修复格式问题
□ 验证数据完整性
迁移后:
□ 重建标签系统
□ 修复损坏链接
□ 添加笔记属性
□ 整理文件夹结构
□ 验证图片附件
□ 测试搜索功能
□ 设置模板推荐工具汇总
| 工具 | 用途 | 支持来源 |
|---|---|---|
| Yarle | ENEX 转换 | Evernote |
| notion2obsidian | 格式转换 | Notion |
| Roam to Obsidian | 大纲转换 | Roam Research |
| OneNoteMdExporter | 笔记导出 | OneNote |
| Joplin | 中转平台 | 多种 |