No description
Find a file
Daniel Kremen 443f06a095
Release 1.1.2: add sponsor funding link; Node 24 actions (#2)
Add a GitHub Sponsors fundingUrl to manifest.json and a Support section to the README, bump the plugin to 1.1.2 (manifest.json, package.json, versions.json), and upgrade the CI and release workflows to actions/checkout@v5 and actions/setup-node@v5 for the Node 24 runtime.
2026-06-14 14:06:21 +03:00
.github/workflows Release 1.1.2: add sponsor funding link; Node 24 actions (#2) 2026-06-14 14:06:21 +03:00
docs docs: add graph view screenshot 2026-06-14 12:51:44 +03:00
src Use registerDomEvent for button clicks; tidy docs and comments 2026-06-14 13:11:23 +03:00
tests Initial commit: graph-project-buttons 1.1.0 2026-06-14 12:40:08 +03:00
.editorconfig Initial commit: graph-project-buttons 1.1.0 2026-06-14 12:40:08 +03:00
.gitignore Initial commit: graph-project-buttons 1.1.0 2026-06-14 12:40:08 +03:00
.npmrc Initial commit: graph-project-buttons 1.1.0 2026-06-14 12:40:08 +03:00
CHANGELOG.md Release 1.1.2: add sponsor funding link; Node 24 actions (#2) 2026-06-14 14:06:21 +03:00
CONTRIBUTING.md Use registerDomEvent for button clicks; tidy docs and comments 2026-06-14 13:11:23 +03:00
esbuild.config.mjs Release 1.1.1: drop builtin-modules, add release provenance (#1) 2026-06-14 13:47:39 +03:00
eslint.config.mjs Initial commit: graph-project-buttons 1.1.0 2026-06-14 12:40:08 +03:00
LICENSE Initial commit: graph-project-buttons 1.1.0 2026-06-14 12:40:08 +03:00
manifest.json Release 1.1.2: add sponsor funding link; Node 24 actions (#2) 2026-06-14 14:06:21 +03:00
package-lock.json Release 1.1.2: add sponsor funding link; Node 24 actions (#2) 2026-06-14 14:06:21 +03:00
package.json Release 1.1.2: add sponsor funding link; Node 24 actions (#2) 2026-06-14 14:06:21 +03:00
README.md Release 1.1.2: add sponsor funding link; Node 24 actions (#2) 2026-06-14 14:06:21 +03:00
styles.css Initial commit: graph-project-buttons 1.1.0 2026-06-14 12:40:08 +03:00
tsconfig.json Initial commit: graph-project-buttons 1.1.0 2026-06-14 12:40:08 +03:00
version-bump.mjs Initial commit: graph-project-buttons 1.1.0 2026-06-14 12:40:08 +03:00
versions.json Release 1.1.2: add sponsor funding link; Node 24 actions (#2) 2026-06-14 14:06:21 +03:00

Graph Project Buttons

One-click project filter buttons for the Obsidian graph view, so you never have to type path: queries by hand.

The plugin injects a small button bar into every graph view: one button per subfolder of a configurable root folder (default projects), plus a Curated reset button and an All projects button. Click a button and the graph's search is set for you.

Graph Project Buttons in the graph view

Features

  • A button per immediate subfolder of your projects root, auto-discovered from the vault.
  • A Curated button that applies a configurable reset query (default -path:projects/) and an All projects button (path:<root>/).
  • Active-button highlighting that reflects the graph's current search.
  • Collapsible bar (chevron toggle), per-button lucide icons, and a left/right dock position.
  • Re-injects itself when the graph re-renders, using a MutationObserver — no polling.
  • The project list is cached and only recomputed when files are created, deleted, or renamed.
  • Zero runtime dependencies. Desktop and mobile.

Privacy

To build the project buttons, the plugin reads only the vault's file list (file paths via getFiles) so it can find the subfolders under your projects root. It never opens or reads file contents, makes no network requests, and writes nothing outside its own plugin settings.

Install

Manually

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Copy them into your vault at <vault>/.obsidian/plugins/graph-project-buttons/.
  3. Reload Obsidian (or toggle community plugins off and on) and enable Graph Project Buttons under Settings → Community plugins.

From the community directory (once published)

Open Settings → Community plugins → Browse, search for Graph Project Buttons, install, and enable it.

Usage

Open any graph view. The bar appears in the top corner. Click a project button to filter the graph to that subfolder, Curated to apply your reset query, or the chevron to collapse the bar. The button matching the current search is highlighted.

Settings

Setting Default Description
Projects root folder projects Top-level folder whose subfolders become buttons.
Curated query -path:projects/ Graph search applied by the curated reset button.
Curated button label Curated Label shown on the curated reset button.
Show curated button on Show the curated reset button.
Show all-projects button on Show the All projects button.
Show icons on Show per-button lucide icons.
Bar position Top left Dock the bar to the top left or top right.
Start collapsed off Open the graph with only the toggle visible.

Development

npm install      # install dev dependencies (zero runtime deps)
npm run dev      # esbuild watch -> main.js
npm run build    # type-check (tsc --noEmit) + production bundle
npm test         # node:test unit tests for the pure helpers
npm run lint     # eslint (eslint-plugin-obsidianmd + typescript-eslint)

To develop against a real vault, symlink or copy this folder into <vault>/.obsidian/plugins/graph-project-buttons/ and run npm run dev.

See docs/architecture.md for how the injection, MutationObserver, and search dispatch fit together, and docs/publishing.md for the community-directory submission steps. Contributor guidelines live in CONTRIBUTING.md.

Support

If this plugin is useful to you, you can sponsor its development through GitHub Sponsors. Sponsorship is entirely optional — the plugin stays free and open source either way.

License

MIT © 2026 Daniel Kremen