Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Dynamic Notes

deadhedddeadhedd113 downloads

Move structured Markdown blocks through your notea.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

Dynamic Notes is an Obsidian Community plugin for moving structured Markdown blocks through small, local workflows inside ordinary notes.

Now -> Done
Later -> Now

Markdown is the source of truth. Dynamic Notes keeps no hidden per-note state, has no network dependency, and makes ordinary Markdown changes that remain readable, syncable, and versionable without the plugin.

Installation

Install Dynamic Notes from the Obsidian Community plugins directory:

  1. Open Settings → Community plugins in Obsidian.
  2. Select Browse, search for Dynamic Notes, then select Install.
  3. Enable Dynamic Notes after installation.

For a higher-level explanation of the workflow and design, see Dynamic Notes: A Small Obsidian Workflow Plugin.

Example use cases

  • Project workflows that promote the next scoped task when the current one is complete.
  • Procedures and checklists that reveal one step at a time.
  • Study sequences that move the next topic into focus.
  • Maintenance routines that preserve completed work as a record.
  • Daily notes, where the same workflow can guide the current part of the day.

Features

  • Dynamic Notes: Validate active note checks a note before any change is made.
  • Dynamic Notes: Advance moves the current Now block to Done and promotes the first Later block.
  • Dynamic Notes: Reset flow restores the original queue: completed blocks first, then the current block and the remaining Later blocks.
  • The Advance command works in Reading view and Editing view, and is also available from the left ribbon.
  • Editing-view advances are applied as one editor update and can normally be undone with one ordinary Obsidian undo.
  • The plugin uses documented Obsidian APIs and has no Node.js or Electron runtime dependency, so it is designed for mobile compatibility.

Dynamic Notes intentionally does not add automatic advancement, scheduling, recurrence, settings, telemetry, network access, or workflow state outside the note.

Markdown format

A dynamic note opts in with frontmatter and contains exactly one Now, Later, and Done region in that order:

---
dynamic-notes: 1
---

## Now

<!-- dynamic-notes:now -->

<!-- dynamic-notes:block:morning -->
### Morning
- [ ] Review the day
<!-- /dynamic-notes:block:morning -->

<!-- /dynamic-notes:now -->

## Later

<!-- dynamic-notes:later -->

<!-- dynamic-notes:block:work -->
### Work
- [ ] Begin primary task
<!-- /dynamic-notes:block:work -->

<!-- /dynamic-notes:later -->

## Done

<!-- dynamic-notes:done -->

<!-- /dynamic-notes:done -->

The region and block markers must each be on their own line. Block IDs must be unique, non-empty, lowercase identifiers made from letters, digits, and hyphens. Managed regions may contain only whitespace and complete Dynamic Notes blocks.

Dynamic Notes validates the whole structure before modifying a note. If it finds an unsupported version, missing or mismatched marker, duplicate ID, nested block, extra current block, or unrelated content in a managed region, it reports an actionable error and leaves the note unchanged.

Usage

  1. Create or open a note using the format above.
  2. Run Dynamic Notes: Validate active note from the Command palette to confirm the note is valid.
  3. Run Dynamic Notes: Advance to complete the current block and promote the next one.
  4. Run Dynamic Notes: Reset flow to restart the queue. It preserves each block's Markdown while normalizing whitespace inside managed regions.
  5. Optionally assign keyboard shortcuts to Dynamic Notes commands in Settings → Hotkeys, or use the left-ribbon Advance button.

In Reading view, Advance uses Obsidian's atomic vault update API. Use Obsidian file history, Sync version history, or Git to revert a Reading-view advance if needed.

Development installation

For private testing or development, build the release files:

npm ci
npm run build

Then copy main.js and manifest.json into:

<vault>/.obsidian/plugins/dynamic-notes/

There is no styles.css because Dynamic Notes does not use custom styles. Enable the plugin in Obsidian and reload it after each development rebuild.

Use a dedicated test vault before relying on any early-release plugin with important notes.

Development

npm ci
npm test
npm run lint
npm run build

The pure parser, validator, and transformation engine are in src/flow. Their automated tests include validation failures and Markdown-to-Markdown golden fixtures.

Status

Dynamic Notes is shipped through the Obsidian Community plugins directory and remains an early-release project. The persistent Markdown format is intentionally conservative, but long-term format stability is not yet guaranteed.

License

Dynamic Notes is released under the MIT License.

Design

The original version 0.1 format contract, safety model, and architecture are preserved in DESIGN.md as a historical design record.

HealthExcellent
ReviewPassed
About
Manage dynamic notes as a local workflow by moving complete Markdown blocks between Now, Later, and Done regions. Keep plain Markdown as the source of truth with no hidden per-note state or network dependencies. Use Advance to move the current Now block to Done and promote the next Later block.
TasksMarkdownDates
Details
Current version
0.2.1
Last updated
3 weeks ago
Created
2 months ago
Updates
4 releases
Downloads
113
Compatible with
Obsidian 1.1.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
deadhedddeadhedddeadhedd
deadhedd.com/
GitHubdeadhedd
  1. Community
  2. Plugins
  3. Tasks
  4. Dynamic Notes

Related plugins

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.

Reminder

Manage Markdown TODOs with reminder.

Day Planner OG

Day planning from a simple task list in a Markdown note (bare bones, preserves the features and behavior of the original plugin).

Tasks Calendar Wrapper

Simple wrapper for Tasks Calendar and Tasks Timeline.

Rollover Daily Todos

Rollover any unchecked checkboxes from your last daily note into today's note.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

Thino

Quickly capture memos and display them in the sidebar with a heatmap. (Closed source)

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.

TaskNotes

Note-based task management with calendar, pomodoro and time-tracking integration.