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

Stretch

Channing WaltonChanning Walton1 downloads

Stretchtext: a nested bullet list reads as a paragraph in reading view, each sentence opening one level in place when clicked.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

Stretchtext for Obsidian. A nested bullet list reads as a paragraph in reading view. Top-level bullets are what you see first. Click a sentence that can open, or the » after it, and its children appear after it, in place; click « to close them again. Each click opens one level. The marks are buttons, so Tab reaches them and Enter or Space works them.

A note in reading view: clicking an underlined sentence opens its children after it, in place

The idea is Ted Nelson's (1967). The markup is just an outline, so a note stays an ordinary nested list everywhere else, including Live Preview.

Use

Add the class to a note's frontmatter:

---
cssclasses:
  - stretch
---

Then write nested bullets where every bullet is a sentence that stands on its own:

- The build fails on a stale cache.
    - The CI cache is keyed only by `package.json`, so a lockfile change leaves it stale.
        - About one run in five hits it.
- The fix is to key the cache on the lockfile.

In reading view that renders as "The build fails on a stale cache. The fix is to key the cache on the lockfile." with the first sentence underlined. Click it and the second level opens after it.

What the reader has opened is remembered for the session, per note, not saved. It is kept by the list's position in the note, so editing the list while reading it may move or drop what was open.

Limits

  • Reading view only. Live Preview shows the outline as usual.
  • Only top-level lists of a note are drawn as stretchtext. Lists inside callouts and quotes are left alone.
  • A task checkbox in a stretch list shows its state but cannot be ticked there; Obsidian's handler needs the list item the plugin replaced.
  • Bullets are meant to hold sentences. A numbered sublist stays inside its sentence, unopened. A code block, table or quote inside a bullet is kept but breaks the paragraph's flow.

Develop

npm test             # vitest: the core and the DOM adapter, under jsdom
npm run typecheck
npm run build        # main.js
npm run install:vault   # copy into ~/Documents/Notes/.obsidian/plugins/stretch (or $VAULT)

src/stretch.ts is the core: which nodes show, given what is open. src/dom.ts reads Obsidian's rendered list and draws the paragraph. src/main.ts is the Obsidian plugin, kept thin.

HealthExcellent
ReviewSatisfactory
About
Render top-level nested bullet lists as stretchtext paragraphs in reading view, showing only top-level sentences by default. Click a sentence or its toggle to open child bullets inline one level at a time, with open state remembered for the session per note. Preserve the outline markup in editing and Live Preview and ignore lists inside callouts or quotes.
OutliningAppearance
Details
Current version
0.1.1
Last updated
7 hours ago
Created
18 hours ago
Updates
2 releases
Downloads
1
Compatible with
Obsidian 1.14.4+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Channing WaltonChanning Waltonchanningwalton
channingwalton.github.io/
GitHubchanningwalton
channingwalton
  1. Community
  2. Plugins
  3. Outlining
  4. Stretch

Related plugins

Minimal Theme Settings

Control the colors and fonts in Minimal Theme.

Hider

Hide interface elements such as tooltips, status bar, titlebar, and more.

Supercharged Links

Add attributes to internal links with the values of target note's frontmatter attributes.

Note Toolbar

Add customizable toolbars to your notes.

Style Settings

Adjust theme, plugin, and snippet CSS variables.

Outliner

Work with your lists like in Workflowy or Roam Research.

Link Favicons

See the favicon for a linked website.

Word-Smith

The Ultimate Writing Suite - Write. Organize. Export.

Colored Tags

Colorize tags in different colors to visually distinguish them from each other.

Chat View

Chat View lets you quickly and easily create elegant Chat UIs in your Markdown Files.