Ben Gutteridge1k downloadsFast, theme-aware search and heading navigation for the current note or whole vault.
Beacon is a compact, theme-aware search and heading navigation plugin for Obsidian on desktop and mobile. Search the focused Markdown note or the entire vault while the query stays untouched when switching scope—no injected path: prefix and no directory text.
![]()
Open the heading navigator to browse the outline for the focused note. It shows rendered Markdown titles with their H1–H6 hierarchy and nesting, keeps the full outline visible while you search, and supports keyboard navigation with the arrow keys, Enter to cycle matches, and Shift+Enter to jump. Jumping selects and highlights the full destination heading line in the editor until the next editor action.
Enter cycles matches and Shift+Enter jumps to the selected heading.OR, regex, and field operators.Esc to dismiss the search.Beacon supports the same search modes, query syntax, sorting, rendered results, result jumps, and heading navigator on Obsidian Mobile. The panels follow the visible screen as the software keyboard opens, respect device safe areas, use touch-sized controls, and avoid reopening the keyboard after a result or heading jump. Mobile indexing and Markdown rendering yield in smaller batches to keep scrolling and typing responsive while preserving the desktop behavior and layout.
Open global search from the Search all files ribbon icon or the command palette, or add any Beacon command to Obsidian's mobile toolbar or Quick Action. Each command has its own distinct icon. To configure the native toolbar, open Settings → Interface → Configure mobile toolbar → Add a command... and search for Beacon. See Obsidian's mobile toolbar guide for adding and reordering commands. With a hardware keyboard connected, use the built-in panel keys listed below.
| Syntax | Meaning |
|---|---|
atlas plan |
Both terms must occur in the file; matching lines are shown |
"project atlas" |
Exact phrase match |
"atlas" |
Exact whole-word match |
atlas OR roadmap |
Match either group |
atlas -draft |
Exclude matches containing draft |
/atlas\\s+plan/i |
JavaScript regular expression |
path:Research |
Filter by note path |
file:Atlas |
Filter by file name |
tag:project |
Filter by tag while using Tags mode |
section:Findings |
Filter by heading hierarchy |
content:atlas or line:atlas |
Match result-line content |
match-case:Atlas |
Match content with exact letter case |
ignore-case:atlas |
Explicitly match without case sensitivity |
path:/Daily.*2026/ |
Use a regular expression inside an operator |
task:* |
Match tasks |
task-todo:* |
Match incomplete tasks |
task-done:* |
Match completed tasks |
Operators are optional. Changing search mode never modifies the search term. Properties and Tags search across the vault and isolate their respective content types.
| Command | Built-in key inside the relevant Beacon panel |
|---|---|
| Open search for current file | — |
| Open search for all files | — |
| Toggle current file / all files | Mod+Alt+F |
| Cycle result sorting | Mod+Alt+S |
| Open property search | — |
| Open tag search | — |
| Open heading navigator for current file | — |
| Select previous result or heading | ArrowUp |
| Select next result or heading | ArrowDown |
| Open selected result or heading | Enter in search; Shift+Enter in headings |
| Select next matching heading | Enter in headings |
| Close search or heading navigator | Esc |
Assign global shortcuts for launching Beacon from the editor in Settings → Hotkeys → Beacon. Inside an open Beacon panel, use the built-in keys in the table. Customized global command shortcuts are not dispatched to the panel, so assigning a different shortcut there does not remap its built-in keys.
While the search panel is open, Mod+Alt+F toggles between current-file and all-files search, Mod+Alt+S cycles sorting, the arrow keys navigate results, and Enter opens the selected result. In the heading navigator, Enter cycles matching headings, Shift+Enter jumps to the selected heading, and the arrow keys move through the full outline.
The previous/next, open selected, next matching heading, and close commands operate on the open Beacon panel. Open selected result or heading opens the selected search result or jumps to the selected heading; Select next matching heading matches the heading navigator's Enter action. No global hotkeys are assigned by default.
All twelve commands can be configured in the native mobile toolbar. Beacon does not add a toolbar inside its panels. Whether Obsidian's editor toolbar remains reachable while a Beacon panel is open has not been verified on physical iOS/Android; use the panel's existing touch controls or built-in keys if the editor toolbar is covered.
Archive/, Private.md, or *.excalidraw.md.After the plugin is accepted into the Community Plugins directory:
For a manual installation, download main.js, manifest.json, and styles.css from the latest GitHub release and place them in:
<vault>/.obsidian/plugins/vault-searchlight/
The plugin ID and install folder remain vault-searchlight for update continuity. Reload Obsidian, then enable Beacon under Community plugins.
Beacon performs indexing and searching locally inside Obsidian. It makes no network requests and includes no analytics or telemetry.
npm install
npm test
npm run build
For local development, symlink this project into that plugin directory and run npm run dev.
Set matching versions in manifest.json and package.json, and add the version and minimum Obsidian version to versions.json. Push a version tag such as 1.5.2 to run Prepare release, or run that workflow manually with an existing version tag. The tag must match the manifest version exactly, without a v prefix.
The workflow runs the tests, lint, and production build, generates GitHub build-provenance attestations for main.js, manifest.json, and styles.css, and uploads those same files to a draft release. Review the generated release notes and publish the draft when ready. Existing releases and assets are never replaced; delete an unwanted draft before retrying its tag.
After downloading a release asset, verify its provenance with the GitHub CLI:
gh attestation verify main.js --repo BenGutteridge1/beacon
gh attestation verify manifest.json --repo BenGutteridge1/beacon
gh attestation verify styles.css --repo BenGutteridge1/beacon