Auto-update links to headers on header title change

In other words, your headers change quite frequently.

It’s not just headers, once you change the name of the file, all the header links to it are broken

1 Like

@bishop1860: I am not sure I understand because when one changes a file name all links to it are amended accordingly. So, are we talking about 2 different things?

Oh, you’re right. So the header autoupdate is actually only useful for renaming headers after all

@bishop1860: right. The devs have said that the automatic adjustment of links to header changes will, at some stage, be fixed.

1 Like

One solution/workaround is to use permanent block id together with editable/changing header.
Then the references do not need to be updated so such header can be edited in any application.
## experimental header 1 ^id1
The up-to-date header can be displayed in place of reference using either Obsidian style [![[#^id1]]](#^id1) or markdown style [![](#^id1)](#^id1) transclusion. (tested, both work in Obsidian 0.9.20)
This works best with Inline transclusion.
This does not transclude whole chapter but the header only.

Steps to reproduce

  • create a note A with heading X
  • create a note B linking to A#X
  • change heading X in A to XXX

Expected result

  • the link in note B should be updated to A#XXX just like when a note is renamed

Actual result

  • nothing happens

Environment

  • Operating system: Linux
  • Obsidian version: 0.6.5
  • Using custom CSS: no
7 Likes

oh, yes. There will be a ui-support to handle this case.

4 Likes

Steps to reproduce

  • There are two demo files, Demo A and Demo B.
  • In Demo B, I creat a link to a specific header in Demo B.
  • Then a change the linked header in Demo B.
  • The link created in Demo A fails to access the linked header, only access to the Demo A file is available.
  • In conclusion, if a linked header in a file has made changes, the links to this hearder can not update automatically.

Expected result

The changes made in a specific header could be automatically updated for the related internal links, just as the internal links to file.

Actual result

In conclusion, if a linked header in a file has made changes, the links to this hearder can not update automatically.

Environment

  • Operating system: Win10 1909
  • Obsidian version: v 0.7.6

Additional information

1 Like

Still broken in 0.9.17.
Also, broken similarly for transclusions ![[thing#heading]]

2 Likes

I believe this is still broken in 0.10.12

1 Like

@mano: was it ever working?

idk. I’ve been changing heading willy-nilly thinking it :man_facepalming: it doesn’t matter, and now I have a bunch of broken links

It’s weird that you can change a block reference and it still works, but not the heading. I think the block reference is a more ‘pro’ feature than a heading…

2 Likes

@mano: with a heading reference you link to the # heading, so making a change to # heading will affect the link.

With a block reference you link to that tiny ^number, which is not affected by a change in the text of the block. If you were to change that tiny ^number you’d find the link is broken too.

AFAIK auto-update links to headers has never worked because it has not been implemented, but it is supposed to be one day, though I don’t know when.

3 Likes

@Klaas: what I mean is that you can change the ^number for a block reference and the link still works fine.

I document it here

edit: I misunderstood this feature.

I sometimes assign meaningful block reference codes for blocks I know I’ll reference elsewhere (as I have done in the example I have linked). It’s pretty useful.

@mano: you state

you can change the ^number for a block reference and the link still works fine.

I don’t understand that. If you link to a block you reference its ^number, so how can the link continue to work if you change that number when Licat himself has said that changing header and block links still needs to be fixed?

As for you other show case re block references via block quotes, all I picked up is that you use your own “meaningful reference string”, which is fine, but surely if you were to change that string the link would be broken?

This is a feature I’m very interested in as well.

Request

  1. Create a block reference (or header reference) in Document A
  2. Write document B
  3. Create a block reference from Doc A to Doc B with a random ID ^8d8763f
  4. Update the Block-ID ^8d8763f to ^meaningful-text in Doc B
  5. The block reference in Doc A will automatically update to ^meaningful-text
  • I would also like these ^block-ids to survive/update when moving them between files

Reason
While updating file names is lovely, sometimes I need a file to be a long list of, say, academic journal abstracts that I add to over time, and rearrange. I don’t want all abstracts in different files, but I do want to refer to specific abstracts. It would be very helpful if these references could update as well as the file names.

2 Likes

yeah, I am sorry, it doesn’t work the way I said it did. I can’t recall why I had that impression!

I’ll correct my original comment

Any news about that? This is a key feature to avoid inadvertently destroying important links. The same thing should be done for blocks as well.

Really important feature. Hope it gets some love sooner rather than later.