npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

joplin-plugin-whereabouts

v0.3.1

Published

Whereabouts: always shows the current notebook next to the note title, with click to filter, double-click to reveal, right-click to move.

Readme

Whereabouts

Always know which notebook the note you are reading lives in.

Joplin already tells you — but only sometimes. Open a note from a search result, a tag, or "All notes" and a blue In: <Notebook> button appears under the title. Open the same note from its own notebook and that button is gone, because in that view Joplin assumes you already know where you are. You often don't: the sidebar scrolls, notebooks nest, and a note reached by an internal link, the back button, or a second window arrives with no context at all.

Whereabouts shows the notebook all the time, in the same place, and makes it do something when you click it. It was written for the request in Always show notebook bread crumb underneath title on the Joplin forum.

Own row below the title (default)

The notebook chip on its own row below the note title

Own row below the title, with the title-row icons moved down

The title gets the full width; the date and the note-toolbar icons drop onto the chip's row.

The compact variant

Right of the title

The chip inline, to the right of the note title

First item of the editor toolbar

The chip as the first item of the editor toolbar

(All four are captured from the running app by the end-to-end suite itself, against its Alpha / Beta test notebooks, so they always show what the current build actually renders. They are linked by absolute URL because the npm tarball ships only the built plugin, so a relative path would resolve to nothing on the package page.)

In every placement the chip sits on Joplin's own vertical rhythm: the blank space above the chip's row and the blank space below it are equal, and both match the gap a normal single-line title leaves before the editor toolbar — so the chip reads as one more line of the editor, not as a banner.

What it does

  • Puts a small notebook chip in the note title area, on every note, in every view.
  • Shows either just the notebook (Beta) or the whole path (Alpha / Beta).
  • Left click — select that notebook in the sidebar, keeping the note you are reading open. This is exactly what Joplin's own pill does; it does not jump you to some other note.
  • Double click — reveal the note in the note list (and focus it there).
  • Right click — open Joplin's "Move to notebook" picker for this note.
  • Optionally hides Joplin's own duplicate In: <Notebook> button.

If Cockpit is installed, a left click also points its panel at the same notebook and a double click reveals the note there. Without Cockpit nothing happens — the integration is fire-and-forget.

A note on single vs double click today. Both run the same Joplin action — select the notebook, keep the note open — so right now the only difference you will see is that a double click also moves focus onto the note's row in the list. They diverge properly once either Cockpit's revealNote or core's revealInNotebook (PR laurent22/joplin#16354) exists; Whereabouts already calls both and falls back silently while they don't.

Settings

Found under Tools → Options → Whereabouts. All of them apply live; no restart.

| Setting | Default | What it does | | --- | --- | --- | | What to show | Notebook name only | Notebook name only shows Beta; Full path shows Alpha / Beta. | | Where to show it | Own row below the title | Four options — see the screenshots above. Own row below the title uses the exact slot Joplin's own pill uses, aligned with the title text and the editor toolbar. …with title-row icons moved down additionally frees the whole title line for the title itself. Right of the title tucks the chip into the title row. First item of the editor toolbar puts it at the head of the formatting-button row, styled as a native toolbar button. | | Hide Joplin's own "In: <Notebook>" button | On | Removes the duplicate blue button in search / tag / All-notes views. | | Path separator | / | Placed between notebook names in full-path mode. | | Show the notebook icon | On | The notebook glyph before the name. |

Installing

From Joplin (once the catalogue has picked it up): Tools → Options → Plugins, search for Whereabouts, install, and restart Joplin.

From a file (works immediately, and is the way to install a version the catalogue has not harvested yet): download io.github.pmslava.whereabouts.jpl from the Releases page, then Tools → Options → Plugins → the gear icon → Install from file, and restart Joplin.

Requires Joplin desktop 3.7 or newer.

Limitations

These are structural, not bugs to be fixed later:

  • Desktop only. On mobile the note title is a React Native field outside the editor's WebView, which is the only place a plugin's code can run. (Joplin mobile already has "Reveal in notebook" in the note's kebab menu.)

  • Markdown editor only — including Split and Viewer-only layouts, all of which work. The Rich Text (WYSIWYG) editor does not: it is a different component with no CodeMirror instance, so no plugin JavaScript runs in that window at all and no chip can appear. In Rich Text mode Whereabouts now stays completely inert; up to 0.3.0 it pulled the caret out of the note title into the note body a moment after you stopped typing (#1).

  • It depends on Joplin's internal DOM. Joplin has no API that reaches the note title bar, so Whereabouts injects into the title bar directly. The selectors it uses are verified against Joplin 3.7.x (app_min_version: "3.7"). A future Joplin could rename or restructure the title bar and break the chip; if that happens the plugin fails visibly (no chip) rather than quietly corrupting anything.

  • In a secondary editor window (Note → Open in new window) all three actions work, but two of them act on the main window, because that is where the sidebar and the note list live: a left click or a double click brings the main window to the front and takes it to the notebook and the note, while the secondary window stays on its own note. Right-click to move stays in the window you clicked in — the picker opens there and files the note you are looking at.

    The plugin waits for proof that the main window really took focus before it navigates anything, and gives up rather than guess. So in the rare case where it cannot get that proof — the main window has no note open in the Markdown editor — the click does nothing at all. Nothing is shown on screen when that happens; the reason is written to the developer console (Help → Toggle development tools, Console tab), which is also where every other Whereabouts diagnostic goes.

  • Conflict notes, notes in the trash, and notes in a read-only share show their location but are likewise inert — filtering to, revealing in, or moving out of those would not do what you meant, and Joplin would reject the move.

  • Turning the plugin off does not remove the chip until you restart Joplin. Joplin gives a plugin no unload hook for an already-mounted editor extension, and no way to drop a chrome stylesheet it has loaded, so the chip, its refresh poll and the native-pill hide rule all survive until the next launch.

Development

See DEVELOPMENT.md for the build, the local install loop and the real-app end-to-end suite, and PUBLISHING.md for the release pipeline.

Issues and pull requests: https://github.com/pmslava/joplin-plugin-whereabouts/issues.

Licence

MIT — see LICENSE.