Work with your lists like in Workflowy, RoamResearch, or Tana, with powerful zoom functionality
This plugin combines the features of Obsidian Outliner and Obsidian Zoom into a single, unified plugin with additional enhancements.
This plugin is built upon the excellent work by Viacheslav Slinko (@vslinko):
- Obsidian Outliner - List manipulation features
- Obsidian Zoom - Zoom functionality
Both original plugins are licensed under the MIT License.
Until this plugin is made available in the official Community Plugins, it can be installed via BRAT:
- Install the BRAT plugin from the Community Plugins page
- Go to BRAT settings
- Click "Add Beta Plugin" button
- Paste the following URL:
https://github.com/mrkhachaturov/obsidian-pro-outliner - Select the latest release
- Make sure "Enable after installing the plugin" is checked
- Click "Add Plugin" button
Download main.js, manifest.json, styles.css from the latest release and put them into <vault>/.obsidian/plugins/obsidian-pro-outliner folder.
Move lists with children wherever you want without breaking the structure.
| Command | Windows/Linux | MacOS |
|---|---|---|
| Move list and sublists up | CtrlShift↑ | CommandShift↑ |
| Move list and sublists down | CtrlShift↓ | CommandShift↓ |
| Indent the list and sublists | Tab | Tab |
| Outdent the list and sublists | ShiftTab | ShiftTab |
| Command | Windows/Linux | MacOS |
|---|---|---|
| Fold the list | Ctrl↑ | Command↑ |
| Unfold the list | Ctrl↓ | Command↓ |
Don't let the cursor move to the bullet position. Affects cursor movement, text deletion, text selection.
Make the Enter key behave the same as other outliners:
- Enter outdents list item if it's empty
- Enter creates new line on children level if there are any children
- Shift-Enter creates a new note line
Press the hotkey once to select the current list item. Press the hotkey twice to select the entire list.
Drag list items by their bullets to reorder them.
Visual guides showing list indentation levels.
Hide everything except the list/heading and its content.
| Command | Windows/Linux | MacOS |
|---|---|---|
| Zoom in | Ctrl. | Command. |
| Zoom out the entire document | CtrlShift. | CommandShift. |
| Zoom out one level | CtrlAlt. | CommandOption. |
Click on any bullet point to zoom into that list item.
When zoomed in, a breadcrumb header shows your location in the document hierarchy. Click any breadcrumb to navigate.
Create synchronized copies of outline blocks that stay in sync with the original — similar to Tana's mirror feature.
| Command | Description |
|---|---|
| Paste as linked copy (mirror) | Paste copied outline as a mirror that syncs with original |
| Paste as block link | Paste a wikilink to the copied block (no sync, just navigation) |
| Go to original | Navigate from mirror to its source block |
| Break mirror link | Convert mirror to regular text (stops syncing) |
Features:
- One-way sync: Changes in the original automatically update all mirrors
- Cross-note support: Mirrors can be in different files
- Visual indicator: Mirrors show a dashed bullet outline
- Cascade delete: When original is deleted, mirrors are removed
- Auto-repair: Block IDs are automatically repaired if corrupted
- Root-level only: Only top-level list items can be mirrored (nested items use block links)
Setting: Linked Copies (Mirrors) — On by default
This combined plugin includes the following enhancements:
When selecting text across multiple bullets, the selection automatically expands to cover full list items including their children. This mimics the behavior of Dynalist and WorkFlowy.
Setting: Auto-expand selection to full list items (on by default)
A new command that lets you step up one level at a time instead of zooming out to the entire document at once. Useful when you're deep in a nested list and want to gradually navigate back up.
- Hotkey: CmdOption. (Mac) / CtrlAlt. (Windows/Linux)
- Falls back to full zoom out when already at the top level
When zoomed deep into nested content, the breadcrumb header automatically collapses to show only:
- The root (document title)
- An "..." button
- The last two levels
Click "..." to expand and see the full path. Each breadcrumb shows a tooltip with its full title on hover.
Hover over a truncated breadcrumb to smoothly expand and reveal its full title. The current level (last breadcrumb) always shows its full title.
Create linked copies of outline blocks that automatically sync with the original. Inspired by Tana's mirror feature. Mirrors are visually distinguished with a dashed bullet outline.
Full support for multiple languages. Currently supports:
- English
- Russian
| Setting | Default |
|---|---|
| Stick the cursor to the content | Bullets and checkboxes |
| Enhance the Tab key | On |
| Enhance the Enter key | On |
| Vim-mode o/O inserts bullets | On |
| Enhance the Ctrl+A or Cmd+A behavior | On |
| Auto-expand selection to full list items | On |
| Setting | Default |
|---|---|
| Improve the style of your lists | On |
| Draw vertical indentation lines | Off |
| Vertical indentation line click action | Toggle Folding |
| Drag-and-Drop | On |
| Setting | Default |
|---|---|
| Zoom in when clicking on the bullet | On |
| Setting | Default |
|---|---|
| Enable Linked Copies (Mirrors) | On |
| Show block IDs and mirror markers | Off |
| Setting | Default |
|---|---|
| Debug mode | Off |
MIT License - See LICENSE for details.
This plugin is based on code originally created by Viacheslav Slinko, used under the MIT License.
Ruben Khachaturov (@mrkhachaturov)
Combining and enhancing the original plugins by Viacheslav Slinko.
