maxwell ding22 downloadsKeep block references, heading references and moved selections as Markdown cards in the sidebar.
Keep blocks, heading sections and moved text in a sidebar of Markdown-backed cards. Drag text out of a note while writing, then bring it back wherever it belongs.
中文说明 · Development · Release procedure · Changelog
![[Note#^block-id]] embeds. Reuse an existing block ID or add one to the selected blocks.![[Note#Heading]], without adding markers to the source.note-transit/, configurable inside the vault.The plugin is being prepared for its first community-directory submission; it is not claimed to be listed yet.
For manual installation, download main.js, manifest.json and styles.css from a published GitHub Release and put them in <vault>/.obsidian/plugins/note-transit/ (use your vault's configured settings folder if different). Reload Obsidian and enable note-transit under Settings → Community plugins.
The declared API baseline is Obsidian 1.8.0. Compatibility with older app versions and physical mobile devices has not yet been verified. Desktop dragging requires an editable Markdown view; commands provide an alternative on devices without drag-and-drop.
No hotkeys are assigned by default. Bind the commands in Obsidian's hotkey settings if desired.
Each card is a Markdown file under the configured folder. Moving text preserves its whitespace, and resolved links are regenerated for the destination folder. A block-reference card looks like this:
---
side-note-id: "example-id"
side-note-version: 1
mode: reference
created: "2026-11-04T01:00:00Z"
source: "[[Notes/Design]]"
source-file: "Notes/Design.md"
reference-type: block
anchors:
- { id: "sn-example", owned: true }
---
![[Notes/Design#^sn-example]]
The side-note-* metadata names are retained for compatibility with existing cards. Settings store only the folder and highlight duration; there is no separate card database. Changing the folder switches the displayed cards without moving existing files.
When a save fails or content changes during a move, the plugin retains the existing copy instead of deleting it. Undoing a text move restores the source text and leaves the saved card. Undoing insertion after a successful card-to-editor move does not restore its deleted card; use your configured trash mechanism to recover that file.
Deleting a card follows Obsidian's file-deletion setting. The cleanup option scans Markdown references, card metadata, unsaved editor text and Canvas before removing an unused plugin-owned sn- marker. If you may restore a reference card later, choose the option to keep its markers. Deleting a Markdown file outside the sidebar does not clean up its source markers.
No accounts, payments, advertisements or telemetry. The runtime makes no network requests and uses Obsidian APIs to read and write files inside the current vault. It can add reference block IDs, edit selected text, create card files and delete cards or unused owned markers as described above.
Obsidian's Markdown renderer may load remote images or embeds already present in your notes according to your app configuration. The plugin does not introduce a separate remote service. The development installer is separate from the runtime and writes only to the vault supplied by the developer.
Use Node.js 22.15 or later:
npm ci
npm run check
npm run package
npm run install:local -- /absolute/path/to/test-vault
npm run check runs Obsidian ESLint rules, TypeScript checks, automated regression tests and release validation. dist/note-transit/ contains the three manual-install files. A version tag creates a draft GitHub Release; see the release procedure for public release and community submission steps.
MIT, copyright maxwell.
The repository's release structure was informed by cparsell/sidenotes and Obsidian's sample-plugin conventions. note-transit's runtime was developed independently and includes no code from sidenotes.