Export ICS Schedule

approved

by lindongyan

Export Obsidian - [ ] tasks to a .ics calendar file and open it with the system calendar. - This plugin has not been manually reviewed by Obsidian staff.

27 downloadsUpdated 13d agoMIT

导出ICS日程 · Export ICS Schedule

Export Obsidian - [ ] tasks to .ics calendar files and open them with your system calendar app (Google Calendar, Outlook, and other calendars that can import .ics) — on both desktop and mobile.

把 Obsidian 的 - [ ] 任务生成 .ics 日历文件,并用系统日历 App 打开导入(桌面端 / 移动端都支持)。

Features · 功能

  • Turn tasks with a date/time into timed or all-day calendar events.
  • Supports 📅 due date, time, (@YYYY-MM-DD HH:MM) reminder syntax, and Dataview [date::].
  • Configurable timezone — auto-detect the system timezone, or pick one of 24 fixed timezones (each labelled with common cities).
  • DST-aware VTIMEZONE generation (full STANDARD + DAYLIGHT rules), so even importers without a timezone database (e.g. desktop Outlook) parse times correctly.
  • Stable UID deduplication — re-exporting the same task updates the event instead of creating a duplicate.
  • Reminders (VALARM) for every event.
  • Date defanging to avoid calendar "smart schedule" auto-creating duplicate events.

Comparison with similar plugins · 与同类插件的差异

This plugin is built for one job: turn the current note's tasks into calendar events with a single tap and let the system calendar app do the rest. No token, no Gist, no whole-vault scan.

本插件只做一件事 —— 把当前这一页的任务一键扔进系统日历,其余交给日历 App 自己处理:无需 Token、无需 Gist、无需全库扫描。

Other plugins in this space fall into three rough approaches, each with different trade-offs:

社区同类插件大致走三条路线,各有取舍:

维度 Dimension本插件 This plugin单字段导出版 Single-field exporters全库订阅型 Whole-vault sync
触发方式 Trigger当前页 / 单任务,按需单条笔记的某个 frontmatter 字段全库周期扫描
输出形式 Output直接拉起系统日历 App(Android 一步 / 桌面走系统默认程序)写入 vault 子文件夹 .ics/(需手动导入)上传 GitHub Gist,生成订阅 URL
移动端 Mobile UXAndroid 一键拉起系统日历(原生桥,事件已预填)
△ iOS 待补(当前用 openWithDefaultApp,iOS Obsidian 不暴露此 API)
△ 走系统分享面板(Android 浏览器原生 / iOS 走 data URL 跳转)✕ 需先建 Gist、拷 Token、在日历 App 里手动订阅 URL
弹窗打扰 Interrupts0 个(全程后台,无模态)1 个(缺日期时弹选择器)多个(帮助 / 报告 / 配置向导)
时区 Timezone✓ 24 整点时区 + 自动检测仅本地时区仅本地时区
夏令时 DST✓ 内嵌完整 STANDARD + DAYLIGHT✗(部分需 X-LIC-LOCATION 字符串)
多日期字段 Date fields📅 / / (@…) / [date::] / 自定义前缀仅一个固定字段📅 任务 + Tasks emoji / Dataview
提醒 Reminder✓ VALARM 可配触发时间(免费基础(部分锁付费)
重复事件 RRULE✗ v0.x 排期中✓(部分锁付费)
稳定 UID 去重 Dedup✓ 路径 + 标题 FNV-1a 哈希(改标题 UID 会变)△ 视实现而定✓ 三级(行内 ^blockId 锚点 + occurrence + 64-bit 双 FNV)
日期脱敏 Defang✓ 防「智能识别」重复建事件
付费层 / 任务上限 Pricing免费,无任务上限免费部分有 Pro 付费版(典型 25 任务上限解锁更多功能)
声明式设置 API Settings API✓ 1.13+ 声明式 + 旧版 fallback✓ 1.13+ 声明式✗ 旧 display()
代码体积 Code size23.6 KB(1 个 main.ts,esbuild cjs)~12 KB(minify)~185 KB(25 个 src 模块分层)
云服务 / 依赖 Cloud / deps无,纯离线Gist / Buymeacoffee 之类

怎么选 · When to choose

  • 移动端随手记几条任务就想立刻进系统日历 → 本插件(一键直达、零打扰、零配置、Android 最佳)。
  • 笔记里每个事件都有专门的 deadline 字段、要批量归档单条 → 单字段导出版。
  • 需要全库持续同步、用订阅 URL 在多个设备间共享同一份日历,或要 RRULE 重复、提醒、已完成等 Pro 级功能 → 全库订阅型。
  • 同时也想在 iOS 上用 → 选单字段导出(它的 iOS 兼容已实现);本插件 iOS 支持排期见 Issues

Usage · 用法

  1. Open a note that contains tasks with a date or time.
  2. Click the ribbon icon 「本页任务 → ICS日程」, or use the command palette (search "ICS日程"), or right-click a task / file.
  3. The plugin generates a .ics file (under 附件/calendar-sync/) and opens it with your system calendar app.
  4. Review the pre-filled event and tap Save.

Task format · 任务格式

SyntaxResult
- [ ] Report 📅 2026-09-05all-day event on 2026-09-05
- [ ] Report (@2026-09-05)all-day event on 2026-09-05
- [ ] Visit [date:: 2026-09-05]all-day event on 2026-09-05
- [ ] Workout 📅 2026-09-05 ⏰ 15:00timed event 15:00–16:00
- [ ] Call (@2026-09-05 15:00)timed event 15:00–16:00

Settings · 设置

SettingDefault
Timezone (auto / 24 fixed zones)auto
Default event duration (minutes)60
Timed reminder lead (minutes)0 (at start)
All-day reminder time (hour)9
Defang dates in descriptionon

Installation · 安装

Obsidian Community Plugins

Search for "Export ICS Schedule" in Settings → Community plugins (once published).

Manual / BRAT

Copy main.js, manifest.json, and styles.css into .obsidian/plugins/export-ics-schedule/, then enable it in Settings → Community plugins.

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.