Planner Boards

unlisted

by Ivan Patakin

Hub dashboard with 5 board modes — daily planner, finance tracker, goals, projects, reading log. Calendar sync (ICS), dynamic dashboards, customizable dictionaries and templates.

1 starsUpdated 2mo agoMIT
View on GitHub

Planner Boards

A universal interactive planner constructor for Obsidian. The daily planner is the core unit; weekly, monthly, and yearly views are dynamic aggregators. Beautiful planner tables with formulas, checkboxes, progress bars, and automatic synchronization.

Version Obsidian


📦 Installation

  1. Copy three files into your vault:
    <vault>/.obsidian/plugins/planner-boards/
    ├── main.js
    ├── styles.css
    └── manifest.json
    
  2. SettingsCommunity plugins → enable Planner Boards
  3. A 📋 icon will appear in the left ribbon

🏗️ Architecture

Hub (main page)

The 📋 icon in the ribbon opens the Hub — a single entry point:

WidgetDescription
📅 CalendarFull month view with ← Today → navigation. Colored dots: 🟢 daily planner exists, 🟠 finance entry exists, 🔵 ICS events. Click a day → opens the board at that date
📊 WeekMon–Sun table: tasks (3/5), habits (2/4), income, expenses, balance. Summary row. Quick overview of today's tasks and habits
📋 BoardsCards for all boards with show-on-main: true. Click → open board

Data is aggregated from all visible boards — if you have multiple boards, the hub shows the combined picture.

Board

Each board is a .planner-board file in a folder. It contains 5 independent modes + settings:

ModeNavigationDaily filesDescription
📅 PlannerYear → Month → Week → DayTasks, habits, schedule, wellness, notes. Dashboards at every level
💰 FinanceYear → Month → Week → DayIncome, expenses (fixed/variable), debts, savings. Dashboards with totals
🎯 GoalsYear → Quarter → MonthGoal tracker with statuses and progress
🚀 ProjectsYear → Quarter → MonthProject tasks with priorities, assignees, and deadlines
📖 ReadingYear → Quarter → MonthBooks, articles, courses — rating, status, notes
⚙️ SettingsGeneral, dictionaries, templates

Navigation hierarchy

Year 2026
├── January
│   ├── Week 30.12 — 05.01
│   │   ├── 2026-01-01 (planner + finance)
│   │   ├── 2026-01-02
│   │   └── ...
│   └── Week 06.01 — 12.01
│       └── ...
├── February
│   └── ...
└── ...
  • Year / Month / Week — dynamic dashboards that aggregate data from daily files
  • Day — a daily file (.planner), created manually and filled with data

📅 Planner — detailed

Daily planner

Created via the board calendar or the "+ Create day" button. File is saved to:

<board folder>/daily-planner/January 2026/2026-01-15.planner

Contains the following sections:

SectionDescription
Weekly tasksShared tasks with priorities (carried over within the week)
Daily tasksTasks with priorities and checkboxes
HabitsHabit checkboxes (configured via templates)
ScheduleTime slots (08:00, 09:00, …)
WellnessRatings: mood, energy, sleep, water
WorkoutsType, duration, intensity
NotesFree-form text

Dashboards (weekly, monthly, yearly)

Automatically aggregate data from daily files:

  • Task and habit completion percentage
  • Expense / income totals
  • Day heat map
  • Average wellness scores

💰 Finance — detailed

Daily finance

File: <board folder>/daily-finance/January 2026/2026-01-15.planner

SectionDescription
IncomeCategory, amount, description
Fixed expensesRent, utilities, subscriptions
Variable expensesGroceries, transport, entertainment
DebtsCreditor, payment, status
SavingsGoal, amount

Records are added via a modal dialog (buttons in section headers).

Finance dashboards

  • Weekly: income/expense table by day, totals
  • Monthly: summary by week, balance
  • Yearly: summary by month, overall trends

🎯 Goals / 🚀 Projects / 📖 Reading

These modes operate at the Year → Quarter → Month level (no daily files).

ModeColumnsActions
GoalsGoal, category, status, progress, deadlineAdd / remove via modal
ProjectsTask, status, priority, assignee, progress, deadlineAdd / remove via modal
ReadingTitle, author, type, status, rating, notesAdd / remove via modal

Dashboards collect statistics: goals achieved, tasks completed, books read.


⚙️ Board settings

Opened via the ⚙️ button in the board header. Three tabs:

General

  • Folders for templates (daily-planner, daily-finance, goal-tracker, …)
  • File naming format

Dictionaries

Dynamic value lists for dropdown fields, grouped by mode:

GroupDictionaries
PlannerCategories, priorities (weekly and daily)
FinanceFixed expenses, variable expenses
GoalsStatuses, categories
ProjectsStatuses, priorities
ReadingStatuses

Dictionary changes apply to new files only — existing files are not affected.

Templates

Full editable template previews. You can:

  • Pre-fill the habit table
  • Set up a creditor list for finance
  • Define default project tasks

The default template is inserted when creating a new daily file.


📅 Online calendar sync (ICS)

The plugin can read ICS feeds (Google Calendar, iCloud, Outlook):

  1. Plugin settings → "Calendars" section → add an ICS URL
  2. Assign a color and name for each source
  3. Events auto-refresh (every 30 min by default)

In the hub, ICS events appear as:

  • 🔵 dots on calendar days
  • "Today" / "Tomorrow" lists below the calendar

📁 File structure

My Planner/
├── Planner Board.planner-board      ← board file (settings, dictionaries)
├── daily-planner/
│   ├── January 2026/
│   │   ├── 2026-01-01.planner
│   │   ├── 2026-01-02.planner
│   │   └── ...
│   └── February 2026/
│       └── ...
├── daily-finance/
│   ├── January 2026/
│   │   └── 2026-01-01.planner
│   └── ...
├── goals/
│   └── 2026.planner
├── projects/
│   └── 2026.planner
└── reading/
    └── 2026.planner

🎨 Themes

Select the default theme in plugin settings:

ThemeDescription
defaultStandard Obsidian theme
softSoft pastel tones
darkDark high-contrast
minimalMinimalist

🌐 Localization

The plugin is fully translated into Russian and English. Language is selected in plugin settings.


🔧 For developers

Building

npm install
npm run build    # → main.js
npm run dev      # → watch mode

Testing

npm test         # run unit tests
npm run build    # production build
npm run dev      # watch mode

Templates

Templates are TypeScript functions in src/templates/. Each template takes a YAML schema and returns an extended schema with sections and columns.

Available templates:

KeyFileUsed in
daily-plannerdaily-planner.tsPlanner (day)
daily-financedaily-finance.tsFinance (day)
finance-plannerfinance-planner.tsFinance (month)
goal-trackergoal-tracker.tsGoals
project-trackerproject-tracker.tsProjects
reading-logreading-log.tsReading

Code architecture

FileDescription
src/main.tsPlugin entry point, commands, ribbon, view registration
src/planner-view.tsHub / Dashboard — main page with calendar and aggregator
src/single-planner-view.tsBoardView — main view for .planner-board files (all 5 modes + settings)
src/settings.tsPlugin settings (theme, language, currency, ICS calendars)
src/i18n.tsRussian and English localization
src/calendar/ICS sync, parser, cache
src/templates/Template generators
src/parser/YAML schema parser
src/engine/Table rendering engine
src/renderers/Cell renderers (checkbox, progress bar, multi-select, …)

📄 License

MIT


🇷🇺 Полностью поддерживает русский язык. Выберите язык в настройках плагина.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.