Hyejun An1k downloadsKeep nested Markdown schedules readable in a sidebar timeline with direct editing, calendars, and time tracking.
Readable nested schedules for Obsidian.
Day Planner Enhanced is an Obsidian community plugin for people who plan in nested Markdown lists. Child items stay readable inside their parent block instead of appearing again as separate Timeline or All Day entries.
Install from Obsidian · Latest release · Changelog · Report an issue
Nested schedules stay readable in the narrow sidebar where the timeline usually lives.
day-planner-enhanced ID keeps releases, settings, and issue tracking distinct. Disable the original Day Planner plugin before enabling this fork in the same vault.Day Planner Enhanced keeps the original Day Planner workflow, then adds tools for people who plan with nested daily schedules.
Timed and untimed child items render inside the parent timeline block instead of appearing again as separate Timeline or All Day entries. A work block can keep its meetings, breaks, and context notes together.
Plan in Markdown on the left; keep the day, current-time focus, and nested structure visible in the sidebar.
Timed children keep their ranges, untimed notes stay attached, and duplicate overlapping blocks disappear.
Right-click a timeline block to edit the parent item, reveal it in the source file, manage nested items, or delete the whole planner item with its nested subtree.
The context menu adds nested-item management and full-subtree removal directly from the timeline.
The nested item manager can add root items, add child items, edit text by clicking the item body, move siblings, delete subtrees, convert bullets into checkbox tasks, and toggle completion. Changes save automatically when the editor closes, while the parent planner line stays intact.
Files and images can be pasted into nested items or the parent title. The editor follows Obsidian's attachment-folder and link-format settings, previews supported embeds, and waits for in-progress attachment saves before closing.
Edit nested schedules as a small tree. Changes save automatically when the editor closes.
Plans that cross midnight stay anchored to the day where they start while still appearing naturally in the next day's timeline. A 23:00 - 00:30 entry can remain in the start day's daily note instead of being split into separate notes.
Overnight plans continue into the next day's timeline while staying in the start day's note.
23:59 boundary, newly created blocks stay selected while you type, and auto-scroll waits while you are interacting with the planner.1–5 zoom range in either settings surface, and resize the All Day row in single-day, sidebar, and multi-day views.day-planner-enhanced, so it can live separately from the original Day Planner plugin.Day Planner Enhanced is listed in Obsidian's community plugin directory. Open its official plugin page, or install it from Obsidian's built-in community plugin browser.
Day Planner Enhanced requires Obsidian 1.11.0 or newer.
Before installing, disable the original Day Planner plugin if it is already enabled in the same vault. This fork has its own plugin identity, but it still shares some Day Planner concepts, commands, and view behavior from the upstream codebase.
This is the recommended way to install and update the plugin.
Day Planner Enhanced.Open the latest release.
Download these release assets:
main.jsmanifest.jsonstyles.cssCreate the plugin folder in your vault:
<vault>/.obsidian/plugins/day-planner-enhanced/
Put main.js, manifest.json, and styles.css directly inside that folder.
Restart or reload Obsidian.
Enable Day Planner Enhanced in Obsidian's community plugin settings.
To open the timeline in the sidebar:
Show Timeline command, or select the timeline icon in the left ribbon:To open the multi-day planner:
Show multi-day planner command, or select its icon in the left ribbon:The mini-timeline in the status bar shows the next three hours:
Blocks from remote sources use their configured source colors.
The plugin can display items from several sources:
[!WARNING] Enable either the core Daily Notes plugin or the Periodic Notes community plugin. Day Planner Enhanced uses one of these plugins to find and update your daily notes.
Write your tasks in a daily note, and they show up on the timeline:
# Day planner
- [ ] 10:00 - 10:30 Plan the day
- [ ] 11:00 - 12:30 Deep work session
Plans that cross midnight can stay written in the start day's daily note. Day Planner Enhanced keeps the original 23:00 - 00:30 line in that note and continues the block into the next day's timeline.
Right-click a timeline block and choose Edit nested items... to manage the child list under that planner item. The editor can add items, add child items, update text by clicking an item body, move siblings up or down, delete nested subtrees, and switch bullets into checkbox tasks without changing the parent planner line. Changes are saved automatically when the editor closes.
Pasting a file or an image into an item (or into the parent title) saves it to your configured attachment folder and inserts a link to it. Images, audio, video, and PDFs are inserted as embeds; other file types are inserted as plain links. Obsidian's attachment-folder and link-format settings are respected. When the source note is not the active note, third-party attachment transformations that depend on the active editor (such as custom renaming or format conversion) may not run; the explicit source-note location is kept instead so the file cannot be saved relative to the wrong note.
Timeline blocks are only as tall as their time range, so by default an embed is shown as a plain link there to keep the task text and time range visible. Turn on Show embeds in timeline blocks to render images and PDFs in the block itself. The nested items editor always renders embeds.
Tasks anywhere in your vault can appear on the timeline when they have a scheduled date from the Tasks community plugin. Add a scheduled property in one of these formats:
⏳ 2021-08-29[scheduled:: 2021-08-29](scheduled:: 2021-08-29)For example, these tasks will show up in the timeline:
- [ ] #task 08:00 - 10:00 This task uses the shorthand format ⏳ 2021-08-29
- [ ] #task 11:00 - 13:00 This task uses the Dataview property format [scheduled:: 2021-08-29]
An explicit Tasks scheduled date takes precedence over the date of a containing daily note. If the scheduled date is missing or invalid, the daily note date is used as the fallback.
One or more leading Obsidian tags may appear immediately before either a single start time or a complete time range. A single start time uses the configured default task duration. When the timestamp format is HHmm, a compact single time such as #task 1000 Focus is accepted only in this leading-tag form; untagged compact numbers and time expressions elsewhere in the task description remain ordinary text.
Enable Tasks integration → Hide Tasks metadata in planner to keep task descriptions and tags visible while hiding Tasks dates and completion, recurrence, priority, IDs, dependencies, on-completion behavior, and inline fields such as (scheduled:: …) inside Day Planner blocks. This only changes the rendered timeline; source notes and scheduling metadata remain unchanged. The setting is off by default.
To show events from internet calendars such as Google Calendar, iCloud Calendar, and Outlook, add an ICS link in the plugin settings.

[!WARNING] Make sure you copy the right link! It should end with
.ics, otherwise, you won't see your events!
Here's the relevant part:
Under the settings in Outlook on the web, go to Calendar > Shared calendars. Choose the calendar you wish to publish and the level of details that you want others to see.
Here's how the settings look on the web version:

If your organization doesn't let you share your calendar this way, you might try a different way described in the upstream project.
[!WARNING] This feature is experimental and can break or change at any time in the near future. You can help to shape this feature by providing your feedback.
You can record time spent on tasks in the form of Dataview properties and then view the records as time blocks, much like planner entries.
Time tracking is enabled by default. Turn off Enable time tracker in the plugin settings to remove its views, timeline column controls, clock commands, task-menu actions, and status-bar clock controls. If a clock is still running, the plugin warns before disabling the feature; the record remains open unless you cancel the change and clock out first. Existing time records and saved column preferences are kept unchanged and become available again when you re-enable the feature.
Start a clock by right-clicking on a task in the editor:
Stop the clock to record the time spent on a task or cancel it to discard the record:
There is a command for each of the menu items, available in the command palette or as a hotkey:
Use Clock in on anything... from the command palette or the status bar to search across tasks and Markdown files. Search terms are matched against task text and file paths in any order, and recently tracked entries are shown first.
You can also track time against an entire Markdown file. Whole-file clocks are stored in the file's planner.log frontmatter and appear alongside task clocks in tracker views.
You can enable an additional timeline column to see the recorded clocks next to your planner:
Right click (or tap and hold on mobile) a clock block to open its control menu:
You can see the currently active clocks in the timeline sidebar:
Right-click an active clock to open its control menu:
The optional status bar widget shows the active clock and provides a shortcut to Clock in on anything.... It follows the main Enable time tracker setting, so disabling Time Tracker hides the widget and disables its dependent setting without changing existing records.
If Day Planner Enhanced makes your daily planning easier, star the repository. It helps other Obsidian users find the project and follow its development.
Day Planner Enhanced is an independent MIT-licensed fork of Obsidian Day Planner. The current codebase is aligned with the upstream 0.35.1 baseline, including its week-strip timeline header, compact All Day row, shared Timeline settings modal, timeline clock-in actions, and current-time/status-bar fixes.
Useful upstream changes can continue to be merged, while this plugin keeps its own package identity, release versioning, enhancements, and issue tracker.