Calendar++

approved

by dreamofcoffee

Enhanced calendar view with daily, weekly, monthly, quarterly, and yearly notes. Supports the Chinese interface and fixes conflicts with the Minimal theme and the CalcCraft plugin. - This plugin has not been manually reviewed by Obsidian staff.

40 downloadsUpdated 8d agoMIT

Calendar++

English | 中文

An enhanced calendar plugin for Obsidian, built on top of the classic Calendar Plus plugin with a full rewrite of the note management layer and additional features.

Features

  • Calendar view in the right sidebar — open it via the ribbon icon (calendar-days) or the Calendar++: Open view command.
  • Periodic notes — daily, weekly, monthly, quarterly, and yearly notes, each with its own folder, filename format (Moment.js syntax), and template. Click a day/week/month/quarter/year cell to open or create the note.
  • Chinese calendar data — lunar dates, solar terms, and Chinese public holidays shown under each day; legal holidays are highlighted in gold, rest days () and make-up workdays () are marked for past dates.
  • Memorial days — custom one-per-line entries in solar:MM-DD:name or lunar:MM-DD:name form, displayed in gold and overriding the day's lunar/term text.
  • Holiday data sync — regenerates lunar/term/holiday data for the current year ±3 years using the bundled Tyme library.
  • Heatmap — each day cell's background tint reflects how many files were created on that day, with configurable intensity thresholds.
  • Week numbers — shown on the left (default) or right side of the grid.
  • Keyboard navigation — arrow keys move day by day / week by week; Enter creates the daily note when it doesn't exist.
  • Open in new tab / splitCtrl/Cmd + click on any calendar item.
  • Dual-language UIAuto (follow Obsidian's language), 中文, or English.
  • Compatible with the Minimal theme and the CalcCraft plugin (conflict fixes included).

Installation

From GitHub Releases (recommended)

  1. Download the latest release assets (main.js, manifest.json, styles.css) from the Releases page.
  2. Create a folder named calendar-plus-plus under your vault's .obsidian/plugins/ directory.
  3. Copy the three files into it and enable Calendar++ in Settings → Community plugins.

With BRAT

  1. Install the BRAT plugin.
  2. In BRAT settings, add the GitHub repository of this plugin (<your-username>/calendar-plus-plus).
  3. Enable Calendar++ under Settings → Community plugins.

The release package must also include tyme4ts.cjs (bundled dependency used by the "Sync holiday data" feature). When installing manually, copy all four files listed in the release assets.

Usage

Creating notes

Enable each note type in Settings → Calendar++. For every enabled type you can set:

  • Date format — Moment.js format string used for the filename (e.g. YYYY-MM-DD for daily, gggg-[W]ww for weekly).
  • Folder — where notes are created (empty = vault root).
  • Template — template file applied on creation (supports {{date:...}}/{{time:...}} and {{weekday:...}} tokens).

Clicking an empty cell creates the note; clicking an existing note opens it. Ctrl/Cmd + click opens it in a new tab or split (configurable).

Chinese calendar & memorial days

Under Special Daily Markers:

lunar:08-15:Mid-Autumn memorial
solar:02-02:Anniversary

Use the Sync latest holiday data button to regenerate lunar dates, solar terms, and holidays for the current year ±3 years (dates after today are not marked as rest/work days).

Heatmap

heatmapThresholds takes three comma-separated numbers (default 1,3,7) that control the background intensity tiers: no tint for 0 files, light for 1–2, medium for 3–6, heavy for 7+.

Settings reference

SettingDescription
Confirm before creating new noteShow a confirmation dialog before creating notes
Show Today button on mobileShow the Today button in the mobile calendar header
Arrow key navigationMove between days/weeks with the arrow keys
Show week number on the rightMove week numbers from the left to the right side
Override localeForce a Moment.js locale instead of the system default
Plugin languageAuto / 中文 / English
Memorial daysCustom solar/lunar memorial entries (gold display)
Sync latest holiday dataRegenerate lunar/term/holiday data for current year ±3 years
Heatmap thresholdsComma-separated tiers for the per-day background intensity
Exclude folders from creation-date searchFolders ignored by the per-day file list

Compatibility

  • Obsidian 1.12.7 or newer (desktop and mobile).
  • Tested with the Minimal theme; known conflicts with the CalcCraft plugin have been fixed.

Related plugins

  • Tickban — recommended for to-do management: it automatically collects [ ] task items from across your entire vault and aggregates them into a Kanban board (TODO / DOING / DONE), with Glob-based include/exclude filtering and tag badges on cards.

Development

This repository ships prebuilt artifacts only (main.js is a bundled CommonJS build that requires obsidian at runtime). No build step is needed to install the plugin.

License

MIT. See THIRD_PARTY_NOTICES.md for attributions of bundled/derived projects.

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.