Always Outliner

unlisted

by Erinc

Enforces outliner mode on top of the Outliner plugin: every line is a bullet.

Updated 15d ago
View on GitHub

Obsidian Always Outliner

Private companion plugin for Obsidian Outliner that enforces outliner mode: every line is a bullet. Requires the Outliner plugin installed and enabled; this plugin layers enforcement on top of it.

  • Empty notes start with a bullet; blank and pasted plain-text lines become bullets.
  • Indentation jumps are clamped to one child level.
  • Frontmatter, fenced code blocks and tables are left alone.
  • Enter on plain text splits it into two bullets; Enter on an empty top-level bullet keeps the bullet instead of exiting the list.
  • Backspace on an empty bullet deletes the line and joins the previous line; the first bullet of a note is never removed.
  • Tables are left alone, with or without outer pipes. A table row swallowed into a bullet (e.g. via Insert table on an empty bullet) is unwrapped so the table renders again.

Install

Build first — dist/ is gitignored, so a fresh clone has no bundle (takes <1s on your machine):

npm run build

Copy manifest.json, dist/main.js, styles.css into <vault>/.obsidian/plugins/always-outliner/, then enable Always Outliner in Settings → Community plugins. Reload Obsidian after updating the files.

Develop

npm run build   # bundle to dist/main.js
npm run dev     # watch mode
npm test        # unit tests
npm run lint    # prettier + eslint

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.