No description
Find a file
2025-05-14 20:13:59 +08:00
.editorconfig use LF instead of CRLF (#28) 2022-04-15 14:13:31 -04:00
.eslintignore fix .eslintignore (#48) 2023-01-19 10:06:51 -05:00
.eslintrc add version bump script (#10) 2022-01-22 16:13:50 -05:00
.gitignore Update .gitignore (#25) 2022-01-28 10:34:53 -05:00
.npmrc add version bump script (#10) 2022-01-22 16:13:50 -05:00
esbuild.config.mjs build: minify prod build 2023-11-15 14:10:43 -05:00
LICENSE Add license, fixes #98 2025-01-27 21:38:01 +00:00
main.ts 加入子级标题可控参数 2025-05-14 20:13:59 +08:00
manifest.json 第一版 2025-05-14 16:21:41 +08:00
package-lock.json 第一版 2025-05-14 16:21:41 +08:00
package.json 第一版 2025-05-14 16:21:41 +08:00
README.md 第一版 2025-05-14 16:21:41 +08:00
styles.css Update sample css file. 2022-08-09 13:39:02 -04:00
tsconfig.json Fix inconsistent indentation 2024-01-19 21:14:58 +02:00
version-bump.mjs add version bump script (#10) 2022-01-22 16:13:50 -05:00
versions.json Update for 0.15 2022-08-09 13:38:50 -04:00

Obsidian Diary ICS

这是一个Obsidian插件用于将Obsidian的日记系统内容同步到系统的日历应用中如macOS日历、Windows日历等

核心功能

生成ICS日历订阅文件

  • 插件会根据Obsidian中的日记内容自动生成一个ICS格式的日历订阅文件.ics
  • 该文件将被托管在本地的一个HTTP端口上例如http://127.0.0.1:19347/feed.ics
  • 系统日历应用可以订阅这个链接从而实时同步Obsidian的日记内容到系统日历中

日记内容解析规则

  • 插件会解析Obsidian中的日记笔记文件通常是按日期命名的Markdown文件
  • 从这些文件中提取出一级或二级标题(由用户配置)
  • 每个提取出的标题将作为一条日历条目,对应当天(即文件名中的日期)

日历条目详情

每个日历条目(事件)将包含以下内容:

  • 标题:从日记文件中提取的一级或二级标题
  • 备注Description:包含一个可点击的链接,格式为:obsidian://open?vault=你的库名&file=日记文件路径点击后可以直接跳转回Obsidian的对应日记文件中

示例说明

假设你有一个日记文件:2025-05-14.md,内容如下:

# 今天的工作总结

## 上午任务
- 完成项目A的模块1

## 下午任务
- 与团队开会讨论需求

用户在插件设置中设置了提取所有二级标题。则,插件会提取出两个日历条目:

  • 事件1标题为"上午任务",备注中包含链接
  • 事件2标题为"下午任务",备注中包含链接

系统日历订阅了 http://127.0.0.1:19347/feed.ics 后,就能看到这两个事件。

使用方法

  1. 在Obsidian中安装并启用此插件
  2. 在插件设置中配置:
    • 要提取的标题级别(一级或二级标题)
    • HTTP服务器端口默认为19347
  3. 复制插件提供的ICS订阅链接
  4. 在系统日历应用中添加该订阅链接
  5. 现在你的Obsidian日记内容将自动同步到系统日历中

开发信息

  • 本插件使用TypeScript开发
  • 使用Obsidian API访问日记文件内容并监听文件变化
  • 启动本地HTTP服务器提供ICS文件
  • 按照ICS标准生成日历文件