README file from
GithubTrailmark
Trailmark is an Obsidian plugin inspired by the elegant table-of-contents affordance used for long conversations.
Usage
In Live Preview and Reading view, notes with at least three headings get a subtle stack of bars on the left edge. Each bar represents one section: hover or focus it to reveal that section's preview, or click it to jump there. Neighboring bars respond smoothly to pointer proximity, creating a fluid sound-wave effect. Live Preview support is enabled by default.
Previews render a deliberately lightweight subset of Obsidian Markdown, including emphasis, inline code, links, wikilinks, lists, and blockquotes. Trailmark omits expensive or disruptive content such as embeds, images, fenced code, tables, HTML, and display math from its transient preview cards.
The plugin is local-only: it reads note headings and short excerpts, stores only its own settings through Obsidian’s plugin data API, and makes no network requests or analytics calls.
- Hover a bar to preview its section.
- Move vertically across the rail to sweep through previews.
- Click a bar to jump to its heading.
- Use Tab to focus individual bars and Enter to jump.
- Run Show section preview from the command palette to focus the first section.
Settings
- Minimum headings controls when the rail appears.
- Reading view enables the rail in rendered notes.
- Live preview enables the rail while editing and is on by default.
Build
npm install
npm run build
The build runs TypeScript and Obsidian's official ESLint rules before producing the release bundle.
Copy manifest.json, main.js, and styles.css into <vault>/.obsidian/plugins/trailmark/, then enable Trailmark in Obsidian.
Development
The source uses the official Obsidian API and keeps obsidian external during the esbuild bundle. Run npm install and npm run build; the generated main.js is the release asset.