hzlume114 downloadsGitHub-style note activity heatmap with periodic notes and Git diff integration.
Visualize your note activity with a GitHub-style heatmap. Track writing habits and discover patterns in your knowledge management.
Unlike Contribution Graph which maps one entry to one date, Note Heatmap supports list-format dates to track activity across multiple days:
last-modified:
- 2026-04-01T10:30:00
- 2026-04-05T17:20:10
- 2026-04-10T11:30:00
A note edited on three different days contributes to all three days — not just the latest one.
Heatmap — GitHub Contributions-style annual activity grid with 5-level color depth. Click any day to see modified notes, click a month for a monthly summary.
Periodic Notes — Click dates to jump to daily notes, months to monthly notes, year number to yearly notes. Supports hover preview. Folder paths and filename formats are fully customizable.
Flexible Date Tracking — Reads frontmatter date fields to track modifications. Supports ISO 8601, YYYY-MM-DD, list format, and Obsidian date objects. New notes are auto-identified via the created field. Incremental cache for performance.
Git Diff (optional) — Quickly view per-file Git changes by commit, day, or month. Requires both Obsidian Git and Version History Diff plugins (soft dependency — heatmap works fine without them).
i18n — Chinese and English. Auto-detects Obsidian language setting.
For early access before official approval:
https://github.com/hzlume/obsidian-note-heatmapmain.js, manifest.json, and styles.css from releases.obsidian/plugins/note-heatmap/| Setting | Description | Default |
|---|---|---|
| Target Field | Frontmatter field for modification dates | last-modified |
| Created Field | Frontmatter field for creation dates | created |
| Target Folder | Folder to track | (empty - whole vault) |
last-modified: 2026-04-14T10:30:00 # ISO 8601
last-modified: 2026-04-14 # Date string
last-modified: # List (multiple dates)
- 2026-04-14
- 2026-04-15
last-modified: # List with time (multiple modifications)
- 2026-04-14T10:30:00
- 2026-04-15T11:30:00
| Type | Default Format | Example Path |
|---|---|---|
| Daily | YYYY-[daily]/YYYY-MM-[daily]/YYYY-MM-DD |
2026-daily/2026-04-daily/2026-04-14.md |
| Monthly | YYYY-[monthly]/YYYY-MM |
2026-monthly/2026-04.md |
| Yearly | YYYY |
2026.md |
Each type can be enabled/disabled independently. Folder paths are customizable.
Enable in settings after installing Obsidian Git. When enabled, a "View Diff" button appears next to each note in the result panel.
Obsidian Git (soft dependency) — Required for Git Diff features. Without it, the heatmap still works; only diff viewing is unavailable.
Version History Diff — If installed, diff views open in its UI for a richer experience with automatic commit selection.
Log Keeper — Automatically generates timestamps in list format as you type. Perfect for tracking multiple modifications throughout the day:
last-modified:
- 2026-04-14T10:30:00
- 2026-04-14T14:15:00
- 2026-04-14T16:45:00
Linter / Templater — Use to auto-populate frontmatter date fields:
---
created: <% tp.date.now("YYYY-MM-DD") %>
last-modified: <% tp.date.now("YYYY-MM-DD") %>
---

GitHub Contributions-style annual activity grid with 5-level color depth. Click any date to see modified notes, click a month label for monthly summary.

Click any square in the heatmap to view all notes modified on that day, showing last modified time next to each note name.

Hover over note links to quickly preview content via Obsidian's native hover preview.

Click a month label to see monthly activity statistics. Supports sorting by name, active days, or last modified time, with search filtering.

After installing Obsidian Git, click the "View Diff" button to see version history in Version History Diff.
npm install
npm run dev # Watch mode (auto-reloads plugin)
npm run build # Production build
Note: The build script automatically copies styles.css to the vault plugin folder.
src/ # Source code
├── main.ts # Plugin entry & lifecycle
├── settings.ts # Settings interface & defaults
├── settingTab.ts # Settings UI
├── heatmapView.ts # Heatmap view (main UI)
├── dataCache.ts # Data cache (incremental updates)
├── gitService.ts # Git service (via Obsidian Git API)
├── vhdUtils.ts # Version History Diff utilities
└── i18n/ # Internationalization
├── index.ts
├── en.ts
└── zh.ts
styles.css # Plugin styles (auto-copied to vault)
See GitHub Releases for version history.