Schedule Calendar

approved

by seonggoos

Visual drag-and-drop calendar for daily and weekly schedule notes. - This plugin has not been manually reviewed by Obsidian staff.

3 stars450 downloadsUpdated 23d agoMIT

Schedule Calendar

A visual interactive calendar for Obsidian — turn your daily note schedules into a drag-and-drop timeline, just like Notion Calendar.

Features

Views

  • Daily view — 24-hour timeline with full drag, resize, and edit support
  • Weekly view — side-by-side 7-day overview
  • Monthly view — grid calendar with event chips per day, click to jump to daily view

Interactions

  • Drag to move — drag events up/down to reschedule (snaps to 15-minute intervals)
  • Move between days — drag a timed event horizontally to another day in weekly view
  • Resize — drag the bottom or top edge of an event to adjust end or start time
  • Click to edit — click any event to open a popup and edit title or time
  • Delete — remove an event directly from the edit popup
  • Double-click to add — double-click any empty time slot to create a new event; a ghost preview shows the time range before you confirm
  • Mobile-friendly add — use the + 일정 추가 button on touch devices; missing daily notes can be created in one click
  • Undo — press Cmd/Ctrl+Z to revert the last change (up to 20 steps)
  • Safe auto-sync — atomic note updates preserve concurrent edits; undo stops if the note changed elsewhere
  • Completion and all-day events — use Markdown checkboxes to track completion and create events without a time

Daily Notes integration

  • Automatic settings — uses the core Daily Notes folder, date format, and template when the plugin is enabled
  • Template-aware creation — creates missing notes through the core Daily Notes workflow, then safely adds the schedule section
  • Manual fallback — configure a folder and Moment.js date format when Daily Notes is disabled or manual mode is preferred

Overlapping events

Events that overlap in daily or weekly view are laid out side by side instead of covering one another.

Drag tooltip

A floating HH:MM – HH:MM label follows your cursor during any drag or resize so you always know exactly where an event will land.

Tag colors

Add a #tag anywhere in an event title to apply a unique accent color. The same color appears on monthly chips and in the daily stats bar.

- 09:00 - 10:00 Morning standup #work
- 10:00 - 12:00 Deep work session #work
- 13:00 - 14:00 Lunch #life
- 18:00 - 19:00 Gym #health

Daily stats bar

The bottom of the daily view shows the total scheduled time and a per-tag breakdown.

Zoom

Use the / + buttons in the header to scale the timeline density (0.75× / 1× / 1.5× / 2×).

Note links

If an event title contains a [[wiki link]], the edit popup shows an button to open that note directly.

Other

  • Now line — red indicator showing the current time
  • Configurable — section name, note folder, and default event duration are all customizable
  • Localized UI — automatically follows Obsidian in Korean or English; other languages fall back to English

Screenshots

DailyWeeklyMonthly
Daily viewWeekly viewMonthly view

How It Works

Schedule Calendar reads schedule entries from your daily notes and renders them as interactive blocks on a timeline. Any changes made in the calendar are written back to the note file automatically — no separate database.

Schedule Format

Your daily note must contain a ### Schedule section with entries in this format:

### Schedule
- [ ] All-day preparation #work
- [x] 08:30 - 09:00 Completed routine
- 09:00 - 10:00 Morning routine
- 10:00 - 13:00 Deep work #work
- 13:00 - 14:00 Lunch #life
- 14:00 - 18:00 Meetings #work

The section name (Schedule) is configurable in settings. A checkbox without a time is treated as an all-day event. Timed entries may use a checkbox to track completion. Legacy timed entries without checkboxes remain supported and keep their original format when edited. Adding #tag is optional — events without a tag use the default accent color.

Installation

From Community Plugins

The plugin is being prepared for the Obsidian Community directory. Until it is approved, install it with BRAT or manually from GitHub Releases.

Manual Installation

  1. Download main.js, manifest.json, styles.css from the latest release
  2. Create a folder: <vault>/.obsidian/plugins/schedule-calendar/
  3. Copy the three files into that folder
  4. Open Obsidian → Settings → Community plugins → enable Schedule Calendar

BRAT (Beta)

  1. Install the BRAT plugin
  2. Add seonggoos/obsidian-schedule-calendar as a beta plugin

This is currently the recommended installation method for automatic updates.

Usage

  • Click the 📅 calendar icon in the left ribbon, or
  • Open the command palette and run Open Schedule Calendar
  • Use the 일 / 주 / 월 (Day / Week / Month) toggle in the header to switch views
  • Use ‹ › arrows to navigate, and 오늘 (Today) to jump back to today
  • In weekly/monthly view, click a day to open it in daily view
  • Press Cmd/Ctrl+Z to undo the last change

Settings

Go to Settings → Schedule Calendar to configure:

SettingDefaultDescription
Daily note settingsAutomaticUses the core Daily Notes configuration, or switches to manual settings
Schedule sectionScheduleThe ### heading to parse schedules from
Daily note folder30.Calendar/31.Daily/Manual-mode folder where daily notes are stored
Date formatYYYY-MM-DDManual-mode Moment.js format used for daily note file names
Default event duration30 minDefault event duration when adding via double-click (15 / 30 / 60 / 90 / 120 min)

Compatibility

  • Obsidian v1.8.7+
  • Works with Daily Notes core plugin
  • Other daily-note layouts can be configured with manual folder and date-format settings

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.