Advanced Note Composer

by mnaoumov
5
4
3
2
1
Score: 53/100

Description

The Advanced Note Composer plugin extends the functionality of Obsidian's core Note Composer plugin by addressing common limitations during note merging and content extraction. It intelligently updates relative links when content is moved between files, preventing broken links that usually require manual fixing. Additionally, it handles invalid characters in titles by either sanitizing them or storing the original form in note aliases or frontmatter titles for better compatibility with quick switcher and metadata-based workflows. This plugin is especially useful for users who regularly restructure their notes and want a smoother, error-free experience.

Reviews

No reviews yet.

Stats

20
stars
7,063
downloads
0
forks
438
days
1
days
1
days
3
total PRs
0
open PRs
1
closed PRs
2
merged PRs
125
total issues
25
open issues
100
closed issues
0
commits

Latest Version

a day ago

Changelog

  • feat: move selection to another note re #97 #100

Full Changelog: https://github.com/mnaoumov/obsidian-advanced-note-composer/compare/3.31.0...3.32.0

README file from

Github

Advanced Note Composer

Buy Me a Coffee GitHub release GitHub downloads Coverage: 100%

This Obsidian plugin extends the core Note composer plugin fixing some bugs and adding additional features.

If you use Merge current file with another file..., Extract current selection..., Extract this heading... from the note with relative links, the core plugin moves those links as is, which leads to broken links you have to fix manually.

The current plugin adjusts such links and makes them valid.

Invalid titles

Sometimes when you extract selection or heading, the chosen title is invalid

# Title with invalid characters *\<>:|?#^[]"

The core plugin will show an error when you try to extract such heading.

The current plugin allows to replace/remove such invalid characters.

If those invalid characters were used intentionally, the plugin allows to add the invalid title

  • to the note alias (to be able to access it from the Quick switcher).
  • to the frontmatter title key.

Treat title as path

Treat title as path option converts titles that contain / into paths.

For example, when we invoke Extract this heading... command for ## a / b / c / d:

If Treat title as path option is

  • enabled - the split file will be a/b/c/d.md. Leading and trailing spaces are trimmed.
  • disabled - the split file will be a _ b _ c _ d.md. Spaces are preserved. / is replaced with _ (or another replacement string as per settings).

Move selection to another note (smart cut & paste)

The core Extract current selection... command moves a selection into another note in one step, always appending/prepending it to that note. This plugin adds a decoupled, two-step move that lets you drop the selection at an exact cursor position in any note (including the same note), while still running the full extraction workflow (relative-link fixing, footnotes, frontmatter, templating).

Commands:

  • Mark selection to move — available when there is a selection. Records the selection and its note, and locks that note (blocking edits) so the marked region cannot drift before you move it. The note stays unchanged — nothing is removed yet.
  • Move marked selection here — available once something is marked. Moves the marked selection to the cursor in the current note, using your default settings, as a single reversible operation.
  • Move marked selection here (advanced)... — same, but first prompts for the frontmatter merge strategy, whether to fix footnotes / include frontmatter, and the text to leave in place of the moved text (see Text after extraction below).
  • Cancel move — available once something is marked. Discards the mark and unlocks the source note without moving anything. (The built-in Unlock active note command also releases the lock.)

While a selection is marked, a persistent notice reminds you that a move is pending until you complete or cancel it.

Notes:

  • The move only removes the text from the source note when you run the paste, so footnotes, links, and frontmatter are still resolved from the intact source.
  • When the target is the same note as the source, Move marked selection here is unavailable while the cursor is inside the marked selection.
  • Same-note moves and Text after extraction. The Text after extraction setting decides what is left in place of the extracted text (a link to the target note, an embed, or nothing). When you move within the same note, a link/embed pointing at the note itself is meaningless, so by default the moved text is simply removed. Enable Apply text after extraction to the same file to apply the setting to same-note moves anyway, or override it per move in the advanced command.

Installation

The plugin is available in the official Community Plugins repository.

Beta versions

To install the latest beta release of this plugin (regardless if it is available in the official Community Plugins repository or not), follow these steps:

  1. Ensure you have the BRAT plugin installed and enabled.
  2. Click Install via BRAT.
  3. An Obsidian pop-up window should appear. In the window, click the Add plugin button once and wait a few seconds for the plugin to install.

Debugging

By default, debug messages for this plugin are hidden.

To show them, run the following command:

window.DEBUG.enable('advanced-note-composer');

For more details, refer to the documentation.

Support

My other Obsidian resources

See my other Obsidian resources.

License

© Michael Naumov