Note composer: When merging files, automatically replacing former link name with corresponding alias name in new merged file

Hello :wave::slightly_smiling_face:

Example:

When I merge an existing file called “Bicycle” into another existing file called “Bicycles” (Which contains “Bicycle” as an Alias name in the Metadata), I would find it convenient if all existing links in other files, that were before referring to the file “Bicycle” would then lead to the Alias name in the new File called Bicycles|Bicycle, in render view or live preview shown as “Bicycle”.

As now the old links would carry the name of the newly merged file (Here “Bicycles”) which does at times no longer fit into the context of the text that the link was in before. This example here contains two times the same word, one is singular one is plural, other examples could be more striking if the words differ more like “Earth” and as an Alias “Gaia”.

It would speed up my flow with Obsidian if this happened automatically while merging.

Proposed solution

If possible, this would happen automatically during the process of merging files.

Current workaround (optional)

I’m currently renaming old links manually.

:cherry_blossom: Thank you, specially for Obsidian in general and have a good day

5 Likes

Additionally to “Proposed solution”

At the moment, when I merge two files, I can also select the name of the Alias of the file that I want to merge into and the files get merged.
But the name of the old links becomes the “main name” of the new file, not the name of the selected Alias.

In a “solution scenario” this selected Alias name would then be how all “old” links (that referred to the file that has been deleted during merging) are named. If selected in the merging process it could be the name they had before (If it exists as Alias in the newly merged file) or it could also be the name of a different Alias (In the newly merged file) if the user chooses this.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

I’d like to reopen this request since it was never responded to or implemented: When merging files, automatically replacing former link name with corresponding alias name in new merged file

Just to sum up the request a bit shorter: please add an option or a toggle so that all [[FileA]] links throughout the vault become [[FileB|FileA]] when [[FileA]] is merged into [[FileB]]]. Otherwise, [[FileB]] doesn’t make sense in the notes where it used to link to [[FileA]]

1 Like

+1

If I have a note called “spirit” (aliases: spirited, spiritual, etc.) and I decide to merge a note called “divine” (aliases: godlike, mystical, etc.) into it, I’d like all the links which pointed to “divine” or its’ aliases to now point to the “spirit” note.

Is there currently no way to do this? Or how to best do it manually? The “Find orphaned files and broken links” plugin should help with the links, at least.

This already happens if you use the Note Composer core plugin to do the merging (probably also with the Note Refactor community plugin). The request is for the changed links to retain the old name as the link text.

3 Likes

Ohhh I see. Good to know, I might even run into that issue too.

I tried it out, it’s really lame that this doesn’t work as it ought to. I had a text with:

[[Bullshit]] is a thing.
[[Bullshit|bullshitting]] is a common process.
[[Horseshit]] is also a thing.
[[Horseshitting|horseshitting]] is a less common process.

Upon merging the file “Horseshit” into file “Bullshit”, I was left with:

[[Bullshit]] is a thing.
[[Bullshit|bullshitting]] is a common process.
[[Bullshit]] is also a thing.
[[Bullshit|horseshitting]] is a less common process.

“Horseshit”, the old file’s title and label, is nowhere to be found! The merged file looks like this:

Bullshit
---
aliases: bullshitting, horseshitting

“Horseshit” isn’t inside those aliases, but it should be. And my text ought to look like this instead:

[[Bullshit]] is a thing.
[[Bullshit|bullshitting]] is a common process.
[[Bullshit|Horseshit]] is also a thing.
[[Bullshit|horseshitting]] is a less common process.

And to work around this, I’d have to remember to batch replace [[Horseshit]] with the text [[Bullshit|Horseshit]] before doing any merging - otherwise all instances of [[Horseshit]] would be turned into [[Bullshit]] and be irrevocably lost.

Use case or problem

Say I have a note Animal with aliases: [Dog, Cat]. I have another note, Turtle, which I would like to merge with Animal and make the alias now aliases: [Dog, Cat, Turtle]. But Turtle has many backlinks, and using Note Composer to merge Turtle to Animal destroys the reader view text:

“A [[Turtle]] is a type of reptile” is now “A [[Animal]] is a type of reptile” in many notes. To avoid this I would have to edit each Turtle backlink individually. This also occurs when I want to split Animal into Cat, Dog, and Turtle: an individual edit on each backlink.

Proposed solution

When using Note Composer merge, I would like instead an option to make it such that “A [[Turtle]] is a type of reptile” is now “A [[Animal|Turtle]] is a type of reptile”. I would also like a new function Note Composer split that can split an aliased note into its aliases, handling backlinks by making [[Animal|Turtle]] now point to [[Turtle]].

Current workaround (optional)

I use Atom in my vault (text editor IDE), Ctrl+Shift+F to find and replace backlinks over my entire vault.

Related feature requests (optional)

6 Likes

I have the exact same issue as you described. Makes me want to avoid using the default Note composer when it could potentially be a very useful feature of Obsidian.

1 Like