Skip to content

Day Planner Plugin Integration

Obsidian Day Planner plugin (v0.28.0) integration -- plan entry format, settings, runtime surface

Details

Day Planner plugin integration via eval_js bridge.

Architecture

Plan entries are ephemeral scheduling artifacts -- NOT canonical tasks. Source of truth for tasks = master-task-list.md + SQLite store. Day Planner entries describe when to work; the task system describes what.

Plan Entry Format

Section heading must be exactly # Day planner (case-sensitive, H1).

- [ ] 09:00 - 10:30 Deep work: ECG-FM paper writing
- [ ] 10:30 - 10:45 Break
- [ ] 10:45 - 11:30 [Cal] Lab meeting

Timestamps: 24-hour HH:mm. Calendar events prefixed with [Cal]. Tasks snap to 10-minute intervals.

Key Settings

plannerHeading: "Day planner", plannerHeadingLevel: 1, timestampFormat: "HH:mm", defaultDurationMinutes: 30, snapStepMinutes: 10, startHour: 6.

Plugin Runtime Surface

Redux store with slices: obsidian (UI state, icalEvents, layoutReady), search, dataview, settings, ical (remote calendars). Commands: re-sync, show-day-planner-timeline, show-weekly-view, show-multi-day-view, clock-in, clock-out. Also exposes: store (Redux), dataviewFacade, vaultFacade, transationWriter, sTaskEditor, settingsStore.

Python API

check_ready (returns settings), get_todays_plan, write_plan (consent-gated), trigger_resync, generate_plan (pure logic from calendar + tasks).