mathieucgit1 downloadsIndex interactif des mots en gras pour la note active dans la sidebar.
Transform long notes into instantly searchable, interactive glossaries.
A powerful Obsidian plugin that scans your notes, builds a dynamic index of formatted terms (bold, italic, highlight), and lets you navigate to them with a single click. Perfect for knowledge bases, planning documents, and concept maps.
🇫🇷 Version française | 🐛 Report Bug | ⭐ Star on GitHub
Large, detailed notes are powerful but hard to navigate. Scrolling to find a specific concept takes time, and you often lose context about where key terms are located in your document.
Navigation Index automatically extracts formatted terms from your note and displays them in an interactive sidebar panel. Click any term to jump directly to it, with the editor automatically selecting the exact text.
Open any note with formatted terms:
# Project Planning
## Overview
This project involves **three main phases**: **design**, **development**, and *deployment*.
## Key Concepts
- **Architecture**: The system uses a microservices approach
- *API Layer*: REST endpoints for external integration
- ==Critical Path==: Must complete design before development
## Timeline
- **Phase 1** (weeks 1-2): Research and **planning**
- **Phase 2** (weeks 3-8): *Implementation* and testing
- **Phase 3** (weeks 9-10): ==Deployment== and monitoring
The plugin automatically builds an index in the sidebar with all formatted terms, ready to navigate.
Choose which formatting styles to index:
**term***term* or _term_==term==You can combine any mix. If you disable all modes, bold automatically re-enables as a safety default.
Click the Sort button (after B, I, H buttons) to choose how entries are ordered:
The plugin remembers your choice across note switches.
Type in the search box to instantly filter results. The search is:
Click any line number (e.g., "12", "18") to:
This makes the sidebar act like a true glossary or index, not just a list.
Click Export to save the current index as a new markdown file alongside your note:
# Index lexical - Project Planning
- Architecture: 8
- Critical Path: 12
- Deployment: 9, 18
- Design: 3, 14
- Development: 3
- etc...
Click Open to immediately view the exported file. Perfect for:
You open/edit a note
↓
Plugin scans markdown content
↓
Filters out code blocks & inline code
↓
Extracts formatted terms (**bold**, *italic*, ==highlight==)
↓
Groups repeated terms + deduplicates per line
↓
Sorts according to your preference (alphabetical or by line)
↓
Displays in interactive sidebar panel
↓
You click a term → editor jumps to exact location
# Clone repository
git clone https://github.com/MathieuCGit/Index-Navgation_for_Obsidian.git
cd Index-Navgation_for_Obsidian
# Install dependencies
npm install
# Build plugin for development
npm run dev
# Build for production
npm run build
# Run test suite
npm test
src/
├── main.ts # Plugin entry point & Obsidian lifecycle
├── application/
│ └── IndexController.ts # Orchestrates logic, manages state (modes, sort preference)
├── domain/
│ └── markdownIndex.ts # Core parsing and sorting logic
│ ├── buildBoldIndex() # Parse markdown & extract terms
│ ├── filterBoldIndexEntries() # Filter by search query
│ ├── sortBoldIndexEntries() # Alphabetical or by-line sorting
│ └── buildMarkdownIndexDocument() # Generate export markdown
└── ui/
└── IndexView.ts # DOM rendering & event handling
tests/
├── domain/
│ ├── markdownIndex.test.ts # Parser, filter, export tests
│ ├── buildBoldIndex.test.ts # Index building tests
│ ├── filterBoldIndexEntries.test.ts
│ └── sortBoldIndex.test.ts # Sort functionality (30+ tests)
└── vitest.config.ts # Test configuration
The project includes a comprehensive test suite using Vitest:
# Run all tests
npm test
# Run tests in watch mode (development)
npm run test:watch
Current coverage:
When extending the plugin:
domain/markdownIndex.tstests/domain/ui/IndexView.ts for renderingapplication/IndexController.tsContributions welcome! Whether you're:
Steps:
git checkout -b feature/your-ideanpm test and npm run build to verifyThis plugin is released under the GPL-3.0 License. See LICENSE for details.
Built with dedication for the Obsidian community.
Author: Mathieu CONAN
Enjoying Navigation Index? ⭐ Star the repository to show your support!