日历同步
将 Obsidian 与日历应用集成,可以实现日程管理、会议记录和时间追踪。本文介绍与 Google Calendar 和 Apple Calendar 的同步方案。
为什么集成日历?
- 📅 日程可视化:在 Obsidian 中查看日程安排
- 📝 会议记录:自动创建会议笔记模板
- ⏱️ 时间追踪:记录活动时间
- 🔗 双向链接:笔记与日程相互关联
方案对比
| 方案 | 平台 | 双向同步 | 难度 |
|---|---|---|---|
| Calendar 插件 | 全平台 | ❌ | ⭐ |
| Full Calendar 插件 | 全平台 | ⚠️ | ⭐⭐ |
| ICS 插件 | 全平台 | ❌ | ⭐ |
| iOS 快捷指令 | iOS/macOS | ✅ | ⭐⭐ |
| Templater + API | 全平台 | ✅ | ⭐⭐⭐ |
方案一:Calendar 插件
这是最简单的方案,适合查看和管理日记。
安装
- 设置 → 核心插件 → 启用 "日记"
- 设置 → 第三方插件 → 搜索 "Calendar" → 安装
功能
- 侧边栏日历视图
- 快速创建日记
- 显示日记完成状态
- 周视图和月视图
配置
在插件设置中:
yaml
# 日记文件夹
folder: daily
# 日期格式
dateFormat: YYYY-MM-DD
# 周起始日
startWeekOn: Monday方案二:Full Calendar 插件
功能更强大的日历插件,支持从日历文件读取事件。
安装
- 安装 "Full Calendar" 插件
- 在设置中配置日历源
支持的日历源
本地 ICS 文件
yamltype: local path: calendars/work.ics远程 ICS 链接
yamltype: remote url: https://calendar.google.com/xxx/basic.icsObsidian 笔记中的事件
yamltype: fullNote
在笔记中创建事件
markdown
---
type: event
date: 2024-02-15
startTime: 14:00
endTime: 15:30
title: 项目会议
location: 会议室A
---
## 会议议程
- 讨论项目进度
- 分配任务方案三:Google Calendar 集成
方法一:使用 ICS 链接(只读)
在 Google Calendar 中获取 ICS 链接
- 设置 → 设置 → 选择日历 → 获取日历地址
- 复制 ICAL 格式链接
在 Full Calendar 中添加远程源
方法二:使用 Templater 自动化
创建一个 Templater 脚本获取日历事件:
javascript
<%*
// 使用 Google Calendar API 获取事件
// 需要配置 OAuth 认证
const events = await fetchGoogleEvents();
for (const event of events) {
tR += `- ${event.start} - ${event.title}\n`;
}
%>注意
Google Calendar API 需要在 Google Cloud Console 中配置项目和凭据。
方案四:Apple Calendar 集成
macOS 自动化
使用 AppleScript 创建日程到 Obsidian:
applescript
tell application "Calendar"
set theEvent to first event of calendar "Work"
set eventTitle to name of theEvent
set eventStart to start date of theEvent
end tell
tell application "Obsidian"
-- 创建笔记
end telliOS 快捷指令
创建快捷指令将日程发送到 Obsidian:
- 获取日历事件
- 格式化为 Markdown
- 使用 Obsidian URI 创建笔记
obsidian://new?vault=MyVault&file=Meeting%20Notes/{{date}}&content={{formatted_content}}日程笔记模板
会议笔记模板
markdown
---
date: {{date}}
time: {{time}}
attendees:
tags: [meeting]
---
# {{title}}
## 参会人员
-
## 议程
1.
2.
## 讨论内容
## 行动项
- [ ]
## 下次会议
- 时间:
- 议题:日计划模板
markdown
---
date: {{date}}
type: daily
---
# {{date:YYYY-MM-DD}} 日计划
## 今日日程
```fullcalendar
type: remote
url: YOUR_CALENDAR_ICS_URL今日目标
- [ ]
- [ ]
- [ ]
笔记
明日计划
## 最佳实践
### 1. 统一日程文件夹结构Vault/ ├── Calendar/ │ ├── Daily/ │ ├── Meetings/ │ └── Events/ └── Templates/ ├── meeting.md └── daily.md
### 2. 结合周期性笔记
使用 [Periodic Notes](../advanced/periodic-notes.md) 插件管理周计划和月计划。
### 3. 自动化工作流
使用 [QuickAdd](../advanced/quickadd.md) 创建快捷操作:
- 快速创建会议笔记
- 自动从日历获取参会人员
- 会后添加行动项到任务列表
## 版本要求
> [!note] 版本说明
> - **Calendar 插件**:需要 Obsidian 0.9.0+
> - **Full Calendar 插件**:需要 Obsidian 0.13.0+
> - **URI 协议**:需要 Obsidian 0.10.0+
## 相关资源
- [日记](../basics/daily-notes.md) - 日记功能详解
- [周期性笔记](../advanced/periodic-notes.md) - 周期笔记管理
- [QuickAdd](../advanced/quickadd.md) - 自动化工作流
- [iOS 快捷指令](../basics/ios-shortcuts.md) - iOS 集成