# Activity Tree Calendar

记得那一天,就能找回那篇笔记;也能看见整个月的创作频率。

English · 简体中文

![Activity Tree Calendar:月度活动热力图与选中日期的文件列表](assets/activity-tree-calendar.png) ## 它解决什么问题? Obsidian 很擅长通过名字查找笔记,却不容易回答:**“那一天,我在做什么?”** Activity Tree Calendar 将保存在本地的编辑记录转换为月度热力图。点击一个日期,当天编辑过的文件会立即以紧凑的文件夹树展示出来。 | 1. 浏览月份 | 2. 点击日期 | 3. 找回工作现场 | |---|---|---| | 通过圆形深浅发现活跃日期。 | 一次点击,只展示当天文件。 | 点击标题,直接在 Obsidian 中打开。 | ## 为什么它真正有用? ### 1. 用时间记忆找回笔记 你可能忘记了文件名,却仍然记得**什么时候**写过它:上周二的一次会议、周末的一段旅行,或者某个特别高产的星期。 从日期出发,不需要猜关键词,也能找回相关笔记。 ### 2. 某天编辑再多笔记,也不会混乱 即使一天编辑了很多文件,也不会得到难以浏览的扁平列表。 文件仍然按照可折叠的文件夹树整理;无分支的连续目录会被压缩;每篇笔记的标题则保持为独立的可点击条目。 ```text 01_心理与认知/02_人生原则与方法论 当天编辑过的笔记.md ``` 无论当天有 3 篇还是 30 篇笔记,都可以借助原本熟悉的 Vault 目录结构快速搜索和查看。 ### 3. 看见整个月的创作频率 日历不只展示孤立的文件时间,而是通过热力深浅呈现整个月的创作节奏:连续活跃的阶段、相对安静的时期,以及自己不断回到笔记中的轨迹。 最深颜色使用固定阈值,因此不同日期的视觉含义更稳定。默认编辑 **10 个文件**时达到最深色,可在 **1–100** 之间调整。 ## 核心功能 - **月度活动热力图**:一眼理解自己的笔记编辑节奏。 - **从日期直达文件**:点击日期,查看并打开当天编辑过的全部 Markdown 文件。 - **可折叠文件夹树**:保留 Vault 目录结构,又不浪费侧边栏空间。 - **为侧边栏而设计**:日历自适应宽度,长标题保持单行并自动显示省略号。 - **自动跟随语言**:根据 Obsidian 当前语言显示中文或英文。 - **数据仅保存在本地**:无需账号,不包含分析统计,也不会发起网络请求。 ## 打开日历 - 点击 Obsidian 左侧功能区中的日历图标;或 - 在命令面板执行 **打开活动日历**。 使用左右按钮切换月份,点击日期筛选文件树,再点击文件标题即可打开笔记。 ## 设置 进入 **设置 → 第三方插件 → Activity Tree Calendar**。 | 设置项 | 默认值 | 作用 | |---|---:|---| | 最深热力阈值 | 10 个文件 | 控制一天编辑多少个文件时显示最强热力颜色。 | ## 语言 插件自动跟随 Obsidian,不需要在插件中重复设置语言: - 中文 Obsidian → 简体中文 - 英文及其他语言环境 → English 月份格式、星期、命令、设置项、空状态与无障碍标签都会同步切换。 ## 安装 ### 从 GitHub Release 手动安装 1. 从最新 Release 下载 `main.js`、`manifest.json` 和 `styles.css`。 2. 创建 `/.obsidian/plugins/activity-tree-calendar/`。 3. 将三个文件复制到该文件夹。 4. 重新加载 Obsidian。 5. 在第三方插件设置中启用 **Activity Tree Calendar**。 ## 隐私 插件不会发起网络请求。活动历史和设置仅保存在 Vault 内的插件数据文件中。 当 Obsidian 发出创建、修改或重命名事件时,插件会记录 Markdown 文件路径;笔记正文不会复制到活动历史中。 ## 开发 需要 Node.js 18 或更高版本。 ```bash npm install npm run dev ``` 生产检查: ```bash npm run build npm run lint ``` ## 发布 GitHub Release 标签需要与插件版本完全一致,不添加 `v` 前缀。上传以下文件: - `main.js` - `manifest.json` - `styles.css` ## 许可证 [0BSD](LICENSE)