Synaphi31 downloadsA light, easy calendar for follow-up tasks. One tagged Markdown line per schedule, one hub note, and live calendar blocks you can paste into any note.
A light, easy calendar for Obsidian. Tag a task, give it a date, and it shows up on the calendar.
- [ ] Send the follow-up email 📅 2026-09-15 #follow-up
That one Markdown line is the whole system. No database, no sync engine, no setup.
_CALENDAR.md by default). Add schedules there, or write the line in any note — both are picked up instantly.tag-calendar block into any note — your daily note, a project page, a dashboard. Every copy is live and shows the same data.📅 and #follow-up, so it stays fast even in large vaults and never touches your other tasks.🔁 daily, weekly, monthly:15, or yearly:09-15. Completing an occurrence rolls the same line forward to the next date — no duplicated future tasks.Compact calendar with a nearest-first list underneath:
Click a day to see everything due that day and tick items off:
- [ ] Title 📅 YYYY-MM-DD #follow-up #optional-project-tagLive block options (all optional):
```tag-calendar
weekStart: monday
showCompleted: false
density: compact
```
Use tag-list as the block name for the list view only.
Language (English by default; Korean, or follow Obsidian), hub note path, first day of week, show completed by default, default calendar size. A built-in guide with update notes is one click away from the book icon.
This plugin is small on purpose, and I keep it that way. If something feels off or you're missing a small thing, open an issue — feedback is folded in quickly.
Download main.js, manifest.json, and styles.css from the latest release into <vault>/.obsidian/plugins/tag-calendar/, reload Obsidian, and enable Tag Calendar.
npm install
npm test
npm run build
npm run deploy:local -- C:\path\to\vault
Versions use the date form <year index>.<MM>.<DD> (1.09.15 = 2026-09-15). The community
directory requires three-part semver, so a second release on the same day takes the next day number
(1.09.16). Edit manifest.json, package.json, and versions.json by hand — npm version
normalizes 1.09.15 to 1.9.15 and breaks the release tag.
The banner is rendered from assets/banner-source.html with headless Chrome at 1280×600 (scale 1.5).
MIT