dmi-kud73 downloadsInsert frequently used wiki links from configurable, grouped sidebar buttons.
Link Button Sidebar is an Obsidian plugin for inserting frequently used wiki links from a compact sidebar. Buttons can have different display labels and page targets, live inside reorderable groups, and use colors from a theme-friendly palette.
The current version is 0.2.1. Manual installation is available from GitHub Releases; availability in Obsidian's community directory depends on the directory review and publication process.
Project can insert [[Projects/Current]].the project and pressing a button targeting Projects/Current produces [[Projects/Current|the project]]..obsidian/plugins/link-button-sidebar/ inside your vault.manifest.json, main.js, and styles.css into that folder.Open Settings → Community plugins → Link Button Sidebar.
Each button is shown as a compact row with its color dot, Label, Page, and delete action. Select the color dot to open the color menu:
Projects/Current, Project#Next actions, and pasted [[Project]] values are accepted and normalized.#RRGGBB value.Drag a group by its grip and a button by its color dot. Dropping a button on another group moves it there. On phones, groups collapse into an overview; open a group to edit its buttons and use the grip or color dot to drag them. A delete button is always visible beside each editable button row at every screen width; there is no additional action menu. General insertion options are available in the collapsed Behavior section below the groups.
Buttons with identical page targets are valid. Each one inserts another link when clicked, and all matching buttons show the same current-note mention count.
The plugin inserts into the active Markdown note, or the most recently focused Markdown note when the sidebar itself has focus. It does not fall back to an unrelated open note. The current destination is displayed above the groups.
With Use selected text as link alias enabled:
[[Page|selection]].Inside Markdown tables, the alias separator is escaped automatically so inserting a link does not split the table cell.
With Add a trailing space when needed enabled, a space is inserted at the end of a line or before regular text, but not before punctuation or existing whitespace.
Mention counts include normal wiki links, aliases, embeds, relative targets resolved by Obsidian, and links to headings on the configured page. Links inside fenced code, inline code, HTML comments, Obsidian %% comments, and indented code blocks are ignored. Markdown-style [text](target) links are not counted.
Existing flat button settings are migrated automatically. Button labels, page targets, group order, duplicate buttons, and recognized colors are preserved. Valid legacy HEX colors that do not match the palette are preserved as custom colors; invalid CSS values fall back to Accent.
data.json. Try reloading the plugin first; if the error persists, restore that file from a backup.open-sidebar.The plugin makes no network requests, collects no telemetry, and requires no account or payment. It stores its configuration in the vault's plugin data.json using Obsidian's API, reads the active editor for mention counts, and changes note text only when you select an insertion button. It does not access files outside the vault or install anything at runtime.
The manifest declares Obsidian 1.4.0 or later and allows mobile use. Desktop/mobile release testing is described in RELEASING.md. Button reordering uses native drag-and-drop; check touch support on the target device. The custom settings editor uses the older, supported settings API; individual controls are not indexed by the newer global settings search.
main.js is both the readable source and the distributable entry point; no compilation or bundler is needed. The plugin has no runtime dependencies other than Obsidian.
Use Node.js 22.13+ and install development-only lint tools:
npm ci --ignore-scripts
npm run validate
npm run package
validate runs ESLint, including the official Obsidian rules for JavaScript, and the regression tests. package also validates the metadata and copies exactly three release files to release/<version>/. npm run build is the production entry point for the same pipeline; the plugin uses plain JavaScript and needs no compilation. Tests alone remain dependency-free:
npm test
ESLint 9 is pinned to the compatible peer range of the official Obsidian validator's dependencies. npm currently warns that this major version is out of support; upgrade the validator and lint stack together when their peer ranges allow it. These tools are not included in the plugin release.
GitHub Actions runs the checks on Linux and Windows. An exact version tag prepares a draft, not a published release. See RELEASING.md for the real-device checklist and community submission steps, and CHANGELOG.md for changes.
This project is available under the MIT License.