kk40 downloadsCalendar and agenda views for Bases. Group any base by a date property and see your notes on a month grid.
Calendar and agenda views for Obsidian Bases — group any base by a date property and see your notes on a month grid.
为 Obsidian Bases 提供日历与议程视图。Bases 是官方的数据库式笔记视图,本插件为带日期属性的笔记集合补上时间维度——月历总览、议程列表,与表格/卡片/看板等视图互补。中文说明见下方中文文档。
+N more for the rest)date)2026-01-31, 2026/1/3, 2026.1.3, 20260131, unix timestamps, and moment-like objectsisDesktopOnly: false)main.js, manifest.json, styles.css into .obsidian/plugins/bases-calendar/.base file → view menu → switch the layout to CalendarDate property to the frontmatter property holding your dates| Option | Description | Default |
|---|---|---|
| Date property | Which frontmatter property to use as the date | date |
| First day of week | mon / sun |
mon |
+N more popoverRuns entirely locally. No network requests, no telemetry. Date property values are parsed on your device for rendering only.
为 Obsidian Bases 提供日历与议程视图:把带日期属性的笔记集合显示在月历上,或按日期排成议程列表。
+N more)date)main.js、manifest.json、styles.css 到 .obsidian/plugins/bases-calendar/).base 文件 → 视图菜单 → 布局选 CalendarDate property 设为存日期的属性本地运行,无网络请求,无遥测。
main.js, copy the three files into your vault's plugin folder — no bundler needednode test/test.js (34 cases: date parsing, leap years, grid building, grouping)node test/sim/run-sim.js (22 assertions against a stubbed Obsidian runtime)npx eslint main.js with the official eslint-plugin-obsidianmd rulesthis.data: BasesQueryResult → .data: BasesEntry[] (also .groupedData / .properties)this.config.get(key); register options with type: 'property' for a native property pickerentry.getValue(propertyId) returns a Value | null (.isEmpty() / .toString()); property ids are prefixed (note.* / file.* / formula.*)this.app.workspace.getLeaf().openFile(entry.file)registerBasesView(viewType, registration); there is no per-view unregister APIonDataUpdated() can fire frequently — keep rendering light and never retain references to this.data