简体中文
A powerful visual task management plugin for Obsidian.
Multi-View Calendar — Task / Year / Month / Week / Day / Gantt — six views with seamless switching
Festival Display — Solar festivals, lunar festivals, and 24 solar terms
Data Visualization — Task heatmap, daily task counts, 8 gradient palettes
Smart Task Management — Global filter, priority tags, 6 date fields, time precision (HH:mm)
Timeline View — Day/Week views with 24-hour timeline layout, drag & drop, quick create
Daily Note Integration — Embedded editor with edit/preview mode toggle
Sidebar View — Task search, filter & sort + daily timeline
Highly Customizable — Festival colors, heatmap palettes, task display count, and more
Dual Format — Full support for Tasks plugin (emoji) and Dataview plugin (inline field) formats
Recurring Tasks — daily/weekly/monthly/yearly repeat with virtual instance display
Feishu Sync — Bidirectional task sync with Feishu (Lark) via OAuth 2.0
Screenshots
Year View

Gantt View

Week Timeline View

Sidebar View (Task List + Daily Timeline)

Day View with Embedded Editor

Installation
Via BRAT
- Install and enable the community plugin BRAT
- Run the command
BRAT: Add a beta plugin for testing
- Enter the repository URL:
https://github.com/sustcsugar/obsidian-gantt-calendar
Manual
- Download the latest Release
- Extract and copy the folder to
<your-vault>/.obsidian/plugins/
- Restart Obsidian and enable the plugin in Settings
Quick Start
Open the View
- Click the sidebar icon to open the main calendar view
- Use the view switcher in the toolbar to switch between views
Create Tasks
Use the Add Task button in the toolbar, or manually write tasks in any Markdown file:
- [ ] 🎯 Complete project documentation 📅 2025-12-20
Refresh the plugin and the task will appear in the calendar and task list.
Features
Layout
The plugin uses a toolbar + content area layout:
- Toolbar Left — View switcher (6 views)
- Toolbar Center — Current date range / title
- Toolbar Right — Functional buttons (navigation, sort, filter, add task, etc.)
Tasks Plugin Format (Emoji)
- [ ] 🎯 Complete project documentation ⏫ ➕ 2025-01-10 📅 2025-01-15
| Emoji |
Meaning |
Emoji |
Meaning |
🎯 |
Global filter marker |
🔺 |
Highest priority |
⏫ |
High priority |
🔼 |
Medium priority |
🔽 |
Low priority |
⏬ |
Lowest priority |
➕ |
Created date |
🛫 |
Start date |
⏳ |
Scheduled date |
📅 |
Due date |
✅ |
Completion date |
❌ |
Cancelled date |
🔁 |
Recurring task |
- |
- |
Dataview Plugin Format (Inline Fields)
- [ ] 🎯 Complete project documentation [priority:: high] [created:: 2025-01-10] [due:: 2025-01-15]
| Field |
Meaning |
Field |
Meaning |
priority:: |
Priority |
created:: |
Created date |
start:: |
Start date |
scheduled:: |
Scheduled date |
due:: |
Due date |
completion:: |
Completion date |
cancelled:: |
Cancelled date |
repeat:: |
Recurrence rule |
Time Precision
- Date:
YYYY-MM-DD (e.g., 2026-04-27)
- Time:
YYYY-MM-DD HH:mm (e.g., 2026-04-27 14:00)
- Tasks with time automatically display in timeline layout
Recurring Task Syntax
🔁 every day # Every day
🔁 every 3 days # Every 3 days
🔁 every week on Monday # Every Monday
🔁 every month on 15 # Every month on the 15th
🔁 every year on 01-01 # Every year on Jan 1
🔁 every weekday # Every weekday
🔁 when done # Restart after completion
Year View
- Year Overview — 12 month cards showing full-year task distribution
- Task Heatmap — 5-level color gradient for task density
- 8 palette options: blue / green / red / purple / orange / cyan / pink / yellow
- 3D heatmap effect (off / slight / prominent)
- Responsive Layout — Auto-switches between 4×3 / 3×4 / 2×6 / 1×12 grids
- Task Count — Optional per-day task total display
- Lunar Calendar — Chinese lunar dates in month cards
- Click Navigation — Click a date to switch to Day View
Month View
- Monthly Calendar — Standard month grid layout with daily tasks
- Week Numbers — ISO week numbers shown in the first column
- Task Display Limit — Configurable per-day task count (1–10) with "+N more" overflow
- Task Popup — Click a date to view all tasks for that day
- Festival Display — Solar/lunar/solar-term festivals with distinct colors
- Drag & Drop — Drag task cards between days to reschedule
- Recurring Tasks — Virtual instances for repeating tasks
- Week Start — Configurable Monday or Sunday start
Week View
- Dual Mode Layout
- List Mode — When no timed tasks exist, displays 7-column card layout
- Timeline Mode — When timed tasks are detected, shows 24-hour vertical time grid with 7 days side by side
- Today Highlight — Current day is visually emphasized
- Navigation — Previous week / This week / Next week
- Drag & Drop — Drag tasks to any day or hour slot
- Quick Create — Hover over empty time slots to reveal "+" button for fast task creation
- Current Time Indicator — Red line marking the current time
- Lunar Info — Lunar dates and festivals in day headers
Day View
- Task List — Detailed view of all tasks for the selected day
- Timeline Layout — When timed tasks exist, renders 0:00–23:00 time grid with tasks positioned at their hours
- Drag & Drop — Drag tasks to any hour slot to adjust time
- Quick Create — Hover over empty slots for "+" quick-create button
- Current Time Indicator — Red line at the current time
- Daily Note Integration
- Embedded full editor (WorkspaceSplit mode)
- Edit / Preview mode toggle
- Auto-loads daily note for the selected date
- Supports Obsidian core daily notes, Periodic Notes plugin, and custom paths
- Resizable Split — Draggable divider between task and note panes (horizontal or vertical layout)
- Lunar Info Bar — Lunar date, festivals, and solar terms
Task View
- Task List — Centralized display of all tasks
- Date Range Filter — All / Today / This Week / This Month / Custom range
- Time Field Selector — Filter by any of 6 date fields
- Multi-dimensional Filtering — Status, priority, and tags (AND/OR/NOT operators)
- Sorting — 7 sort fields with asc/desc toggle
- Persistent State — Filter and sort settings persist across refreshes
Gantt View
- Interactive Gantt Bars — Custom SVG rendering engine
- Drag entire bar to shift dates
- Drag endpoints to adjust start/end dates
- Drag to change progress percentage
- Click to open task edit modal
- Navigation — Jump to today / scroll left / scroll right
- Incremental Refresh — Smart update strategy to avoid full redraws
- Tag & Status Filtering — Filter gantt bars by tags and status
- Configurable Fields — Choose which date fields map to gantt start/end
Two-tab sidebar for quick task access:
Task List Tab
- Keyword search (debounced)
- Multi-dimensional filters: status, priority, tags (OR/AND), date range
- Sort by: priority / due date / start date
- Click task to navigate to source file
Daily Timeline Tab
- 24-hour timeline for today's timed tasks
- All-day task section
- Current time indicator line
- Drag & drop to adjust time
- Quick create on empty slots
Right-click any task for:
- Edit Task — Full edit modal (description, priority, dates, repeat, tags)
- Create Note — Generate a wiki-linked note from the task (same name or alias)
- Set Priority — 6 levels: highest / high / medium / normal / low / lowest
- Set Status — Custom statuses (important, question)
- Postpone — Delay 1/3/7 days (from due date or from today)
- Cancel / Restore — Toggle cancelled state
- Delete — Remove task from markdown file
Feishu (Lark) Sync
- Bidirectional Sync — Push local tasks to Feishu and pull Feishu tasks to Obsidian
- OAuth 2.0 — Secure authentication with automatic token refresh
- Push Filters — Filter by file paths, completion status, and date
- Conflict Resolution — Multiple strategies: local-wins, remote-wins, newest-wins, manual
- Auto Sync — Configurable automatic sync interval
- Sync Result Modal — Detailed per-task sync results with statistics
Roadmap
Task Parsing
Views
Interactions
Future Plans (v2.0.0)
Contributing
Issues and Pull Requests are welcome!
License
MIT
Found a bug or have a suggestion? Open an Issue
Enjoying the plugin? Give it a ⭐!