# πŸ—ΊοΈ Markdown Minimap β€” A Minimap View for Markdown Notes Markdown Minimap adds a minimap panel inside your Obsidian editor pane, giving you a scaled-down visual overview of the entire note. Inspired by modern code editors, this plugin helps you **navigate long Markdown files faster** and with more spatial awareness. ## Why this plugin? Existing Obsidian minimap plugins lose functionality on long files β€” past a certain document length, the minimap stops being a usable scrollbar. Markdown Minimap is built specifically to handle long Markdown files correctly, with smooth scroll-with-document behavior similar to VS Code. ## ✨ Features - πŸ”Ž **Live minimap view** of the current note - supports all view modes - πŸ–±οΈ **Draggable viewport slider** to scroll instantly - πŸŒ“ Supports all themes - πŸ’  Automatically updates on scroll and content change - πŸ” Per-note toggle button in the note header - πŸ“ Resizes automatically with the pane ## πŸ“Έ Screenshot ![Screenshot of Obsidian with active minimaps.](/screenshot.png) ## πŸš€ Getting Started ### πŸ“¦ Installation You can install Markdown Minimap in **three** ways: #### 1. From the Community Plugins Browser (Recommended!) - Open Obsidian - Go to `Settings` β†’ `Community Plugins` - Disable Restricted Mode - Click `Browse` and search for `Markdown Minimap` - Click `Install` and then `Enable` #### 2. Manual Installation - Download the latest release from [GitHub Releases](https://github.com/Nymbo/Markdown-Minimap/releases) - Extract into your Obsidian `.obsidian/plugins/markdown-minimap` folder - Make sure the folder includes: - `main.js` - `manifest.json` - `styles.css` (optional) #### 3. Clone Directly (For Developers) ```bash git clone https://github.com/Nymbo/Markdown-Minimap .obsidian/plugins/markdown-minimap ``` ## πŸ§ͺ Usage 1. Install & enable the plugin. 2. Open any markdown note. 3. A minimap will appear on the right edge of the editor. 4. Scroll & write in the editor β€” the minimap updates live. 5. Drag the slider in the minimap to jump to different parts of the note. 6. Click the `Toggle Minimap` button in the upper-right corner of the pane to choose whether to show minimap. ## βš™οΈ Settings - Adjustable minimap scale - Enable minimap by default - Opacity (separate for minimap and slider) - Top and bottom offsets (for custom toolbars, status bars, or bottom chrome) - Scrollbar gap - Minimum viewport highlight height - Center-on-click behavior ## πŸ“Œ Implementation Notes **Lazy loading workaround:** Obsidian lazily loads long notes, which causes naive minimap implementations to render only the visible portion. Markdown Minimap uses a hidden-render technique (a duplicate view in the right panel) to capture the full document structure. This is what allows long files to render correctly. ## Development Markdown Minimap is built from TypeScript source in `src/main.ts`. ```bash npm install npm run build ``` Use `npm run dev` to watch and rebuild `main.js` during local development. ## πŸ’‘ Ideas and Contributions Contributions, bug reports, and feature requests are welcome! Β  Feel free to open an [issue](https://github.com/Nymbo/Markdown-Minimap/issues) or submit a pull request. ## Credits Markdown Minimap is initially based on [YairSegel/ObsidianMinimap](https://github.com/YairSegel/ObsidianMinimap), distributed under the MIT License.