Hello everyone,
SiYuan's Attribute View already supports table, kanban and gallery layouts, but records with date properties still cannot be shown directly on a calendar. For schedules, appointments, deadlines, study plans or project milestones, users can only scan dates row by row, or maintain the same data again in an external calendar.
There is already a related community feature request: #13740 Database calendar view. It mentions year, quarter, month, week and day views, multi-day events, drag-to-edit dates and event colors.
The request has been open for more than one and a half years and has received sustained community support through upvotes and ongoing discussion. The issue has now been assigned to the project maintainer, and external pull requests for this feature are currently not accepted according to the maintainer's statement. In the meantime, the public fork described below is available for anyone who would like to try the calendar layout.
I have implemented this in my own public fork of SiYuan, where the calendar is a new Attribute View layout — this is the version I build and use myself. The code lives on the feat/av-calendar branch. The core design is:
- Attribute View rows and properties remain the only source of truth; no separate calendar database is created.
- An existing date property is used as the event start time, and an end time can be chosen as well.
- Each event stays linked to its original row and bound block, so it can be opened directly in the editor.
The current version includes:
- Month, week, multi-day, day and agenda list views
- All-day events and events with specific times
- Create, edit, delete, duplicate, drag and resize
- Daily, weekly, monthly and yearly recurrence rules, plus exception dates and single-occurrence edits
- Search, event type filtering, keyboard navigation and date jumping
- Mobile touch interactions
- A Calendar dock view
- ICS import
- Localisation in 21 languages
A candid note: this implementation was built mainly through AI-assisted vibe coding and it is a very large change, so I cannot guarantee code quality or compatibility with upstream. If it causes compatibility issues or other problems, I am sorry for that.
Feedback in the comments is welcome, and you can also continue the discussion in #13740 with your use cases and opinions.
Welcome to here!
Here we can learn from each other how to use SiYuan, give feedback and suggestions, and build SiYuan together.
Signup About