How pandorareads/apex-dashboard works
Apex Dashboard is an Obsidian workspace plugin: users open a dashboard backed by a Markdown workspace file, then arrange sections and widgets to capture notes, manage tasks, query Vault content, and track personal activities. The graph emphasizes documented dashboard and sidebar capabilities, plus the DQL execution layer and task/calendar scanning. README documentation supports several capability branches whose individual wiring was not sampled; those are shown at subsystem level rather than with speculative call chains.
Main entry points: main.ts Sidebar Widgets · renderer.ts Section Renderer · view.ts Dashboard View · dataview-section.ts DQL Data View
Components 25
Dashboard Core
- Plugin Lifecycle
src/main.ts - Dashboard View
src/view.ts - Section Renderer
src/renderer.ts - Workspace Markdown
- Settings
src/settings.ts
Workspace Sections
- Memo and Notes
src/memo-note.ts - Projects and Library
src/library-section.ts - Calendar Sections
src/calendar-section.ts - Vault Task Scan
src/alltasks-scan.ts - Embedded Web
src/web-section.ts
Sidebar Widgets
- Sidebar Widgets
src/main.ts - Weather Widget
src/weather-service.ts - Music Widget
src/music-service.ts - WeRead Widget
src/weread-service.ts - Pomodoro Widget
src/pomodoro-service.ts - Habit Widget
src/habit-service.ts - Expense Widget
src/expense-service.ts - Reading Tracker
src/reading-service.ts
Vault Query
- DQL Data View
src/dataview-section.ts - DQL Engine
src/dql/index.ts - DQL Parser
src/dql/parser.ts - DQL Evaluator
src/dql/evaluator.ts
Other components
- Obsidian User
- Obsidian Vault
- External APIs
Connections 28
- Obsidian User → Plugin Lifecycle: opens dashboard
- Plugin Lifecycle → Dashboard View: registers view
- Dashboard View → Workspace Markdown: loads and saves
- Dashboard View → Section Renderer: renders sections
- Section Renderer → Memo and Notes: renders
- Section Renderer → Projects and Library: renders
- Section Renderer → Calendar Sections: renders
- Section Renderer → DQL Data View: renders
- Section Renderer → Embedded Web: renders
- Calendar Sections → Vault Task Scan: scans tasks
- Vault Task Scan → Obsidian Vault: reads notes
- DQL Data View → DQL Engine: runs query
- DQL Engine → DQL Parser: parses query
- DQL Engine → DQL Evaluator: evaluates parsed query
- DQL Data View → Obsidian Vault: queries Vault pages
- Obsidian User → Settings: configures
- Settings → Plugin Lifecycle: updates configuration
- Plugin Lifecycle → Sidebar Widgets: manages widgets
- Sidebar Widgets → Weather Widget: shows weather
- Weather Widget → External APIs: requests forecast
- Sidebar Widgets → Music Widget: controls playback
- Music Widget → External APIs: requests music
- Sidebar Widgets → WeRead Widget: shows reading data
- WeRead Widget → External APIs: requests book data
- Sidebar Widgets → Pomodoro Widget: runs timer
- Sidebar Widgets → Habit Widget: tracks habits
- Sidebar Widgets → Expense Widget: records finances
- Sidebar Widgets → Reading Tracker: tracks reading