Fully transclude backlinks

Currently, the backlinks sidebar only shows an unformatted snippet of the text around the link, forcing you to click through to really read it. Better would be for it to function like Roam, where the complete line, and any nested below it, appear in the backlink list
This is definitely trickier than Roam, since Obsidian is not a true outliner, but some way to read the full context of backlinks is definitely needed. Maybe if the link is in a bulleted or numbered list it shows everything nested below, if it’s in a heading it shows everything under that heading, otherwise it just shows the line?

101 Likes

This technical issue is debated quite a lot as Markdown in itself does not provide enough information to isolate outline entries as backlinks.

2 Likes

Agree with @Caketray, it is very difficult to make out context from backlinks. I think the current implementation is similar to showing search results.
I feel true power of backlinks only comes with Context.

Probably some kind of compromise as @caketray mentioned ? Like checking if the current line is a header or a list item and showing the elements that nested below it ?

10 Likes

Especially since we now can embed headings from other pages. All we need is for back links to automatically do that.
For links outside of headings it’s trickier. I imagine extracting children of list items is not too complicated, but I’m not sure what should be done about links that are e.g. in the middle of a paragraph, since obsidian data isn’t atomic the way Roam is

3 Likes

I posted a similar request.

Since the backlink panel shows the part of the line, couldn’t it just show the entire line? Is it mainly a UI thing to display it?

I think showing more than that line (nested bullets) could get unruly in backlinks panel & let alone it being possible. (Roam handles it nice enough, but it’s an outliner afterall)

I’ve personally been playing with using hidden UIDs at the end of every line I write, to bring some of that more granular outliner/Zettelkasten note/thought identification. But it’s not really functional right now. Just an experiment.

Hoping eventually a plugin could embed a line by finding a hidden UID and then just hiding the UID from the render when it embeds, leaving just the text.

3 Likes

I personally think it’s pretty important to show more than that line, because that means you don’t have to think as much about where you’re writing your notes - put them anywhere, and if they’re linked thoroughly they’ll get automatically embedded in all the pages they should be. Having just one line means you have to do much more clicking through to other pages, rather than having all the info aggregated right there
(and honestly, although I know it’s probably beyond the scope of the program, I would love to see as many outliner features as it can get away with without losing the markdown backend)

8 Likes

With regards to UIDs, although now we’re getting off-topic for this thread:
I imagine if it’s done programmatically, you could even have IDs generated on the fly for linked lines, rather than IDing every line. That is, the dialog would show all the lines, and then when you selected one to link to it would automatically append an ID to the end of the line and link to that ID. That way your files aren’t filled with unused IDs, but you’re still linking directly to the line so don’t have to worry about line numbers changing or anything as the file is edited

1 Like

That’s pretty much out I imagined it. The plugin auto-generates a UID format at the end of each line. Maybe there’s even an option to hide them in the editor too, so that’s not cluttered either.

I posted about that here and death_au had some thoughts on it you may find interesting.

1 Like

@Fovea it won’t get unruly to show nested bullets, if the default behavior is that the bullets are folded (similar to Roam).

But visual details aside, the more important point is how to get more out of bi directional links.

If you are in a note and can see in which context is it referenced in other notes, just by looking at the backlinks section, that would be a great advantage and as Conan said in his Roam Whitepaper, it will allow serendepity to blossom. (Currently the UX mandates that you go into each of the notes, to see in which context that note / concept is referenced).

@Silver @Licat I did some prototyping in python, by parsing markdown files and creating trees out of them and map to identify which nodes have a particular link.
Seems possible to actually implement this kind of thing in production and then get contextual backlinks out of it.
Worth a try…

7 Likes

I’d actually prefer that the current backlinks implementation show only the note titles. I agree that partial context can be unhelpful, and I wish that the backlinks panel either showed no context (just the title/filename) or much more context.

2 Likes

I think this is a pretty important feature. It’s making it hard for me to move from Roam without it.

For example, here’s how I’m doing my book notes in Roam. I have sub-categories of books, then tag the ones I want to read, with [[Books to Read Soon]]:

Then, I can see all the books I want to read soon, along with their titles and categories, in the “Books to Read Soon” page:

In Obsidian, this just shows up as titles, which isn’t useful at all:

This makes the linking feature much less useful in Obsidian vs Roam. I think the context is pretty essential for the backlinking feature to be useful.

31 Likes

Definitely agree about how it limits thing, especially in your use case.

I would say that this would be fairly straightforward with seeing the entire line a backlink appears on; that’s mainly a UI/display thing.

But considering you put essentially a tag(link) of “books to read soon” under the book title as a indent, I don’t know how Obsidian could know to pull up the line above the backlink.

How you’re using the indent there seems a feature outliners; being able to see/point to relationships in a indented list.

Maybe Obsidian could display a kind of “x > y > z” above the backlink if it’s in a list, that could get a bit of the context.

I feel you though. In a daily notes/inbox I’m always “tagging” metadata to my notes in a line under them or with indents to keep the main note “clean” (especially with specific titles you do) and that flow doesn’t work quite yet in Obsidian.

My workaround is, make a note/file for the title of a book, then anytime I want to add to that book, (regardless of location) write my note (“Sam Harris recommends”, “read soon”, “look into”, etc) & put links/tags (ie the book) at the end of the line of the note.

Then when I’m on the books page all those notes will show up as backlinks.

Likewise being on “read soon” will list every file title & line that link/tag is on.

It’s clear if you navigate the Obsidian Help notes that context-rich backlinks are possible, but require the [[backlink]] to be embedded in a suitably descriptive sentence, versus a standalone bullet/heading. Something I have to think about when organizing my own thoughts - probably a good exercise :wink:

However, I do agree with @derekpankaew that backlinks would be so much more powerful if they incorporated folding - so we could selectively interrogate context. I would even like to see a certain amount of unfolding by default - so I can survey the landscape of thought before clicking off in a particular direction.

4 Likes

There is so much potential for backlinks to present in a more useful way that can fully incorporate with our markdown environment, without foundational changes. Incorporating some logic behind what’s presented and introducing some interactive elements in the backlink frame could probably satisfy most of our needs.

We’re not an outliner but hierarchy is often present

and can be easily parsed programmatically

  • The user should have an option to show page title as well as section title for backlinks. That may provide enough context for some users
  • Ordered and unordered lists have easily garnered context to work with as well. If a backlink is part of a nest relationship, the immediately superior and immediate child list items can and (optionally) should be shown. If a backlink composes the entirety of a list line that has child lists items, all of those immediate children should be shown.
  • Even though we are working with simple markdown, logical context is often available.

Interactive Components

  • There could be a expander buttons at the top of the Backlinks Window that expose 1, 2, 3 lines above and/or below every backlink in the window.
  • Each backlink could be presented in it’s own cell with expandable bars, much like we can expand rows in a spreadsheet. This feature could borrow from transclusion/embeds which are already implemented in Obsidian.
  • For any backlinks shown as part of a nested list, those nests could be presented as foldable.
  • For any backlinks that are either part of or parent of check-list items, we should be able to check off items directly from the backlinks window.

There are so many things we can do without messing with the basic markdown format we’re committed to. Though I personally love what would be possible if a backend feature introduced line UIDs like @Fovea suggested. The plugins that could be built off of that would be game changing!

18 Likes

I just want to add my support for the idea of providing more context in the backlinks where the structure of markdown allows it (ie the ability to show above headings and expand nested bullets). @goodsignal is there anything in the backlog to start to address this?

completely agree with @Caketray. Providing context on the backlinks is probably the single most important feature when making serendipitous connections between ideas. Having to go click through each backlink completely disrupts the synthesis process. It seems there should alot of ways to expand the context/expandability around the backlinks even within the constraints of markdown.

1 Like

Exactly. This is why, even though I have high hopes for Obsidian’s future and am a supporter, I still personally use Roam. I hope that this can be fixed somehow…

2 Likes

Wanted to chime in support of this. A useful MVP for this would simply be to take the next few lines if plaintext or list of bullets in the backlink search results. Don’t think it’s a super heavy operation but not sure how the system is designed. It’s really difficult to move away from Roam without this.

3 Likes

While I agree that Roam can be a source of ideas, I’d worry about Obsidian pursuing them generally rather than following their own vision. I think this is important with a potential flood of $15 refugees on the horizon. Conaw has explicitly said that cheapskate/low intensity users are a resource drain and there could easily be an increasing demand for Roam features. Some things will always be easier to implement on Roam, and vice versa. Commercially, being seen as a cheap super lite version of Roam would not be a good place to be.

There will be other competitors too. I think it will always be best if they follow their own vision and their own advantages rather than worrying about what features will persuade Roam users transition.

This isn’t a comment on transclusion. I’ve not fully thought that one through yet.

10 Likes

I’ve seen similar sentiment in a few places, so this prompted some thoughts I’ve had.

I sympathize and I want Obsidian to succeed and have a strong individual identity. I actually think most of the community here is pretty great at respecting the vision and values of Obsidian too, it’s awesome.

Which is why I don’t feel we need to be so wary of, “becoming a Roam clone” when people suggest elements that Roam (or other tools) have. There are features & UI design that bring value to people, if it’s technically possible & doesn’t infringe on anyone or the stated Obsidian values, then they should be encouraged & considered on their merit without being weighted down with fear of association.

The idea of the backlink search results showing the full line of text is a fairly subtle UI decision - conceptually speaking. It just so happens that Roam does this in a way that brings a lot of value to people. I don’t see how a fairly straightforward UI tweak like that warrants us needing to worry about Obsidian loosing it’s identity.

I understand the concern, but I don’t think it will happen because Silver & Licat are strong developers & the community respects the vision they’ve laid out.

We should remember the key values of Obsidian is flexibility/extensibility/personalization - as long as it is doesn’t break markdown and create lock in. It’s also about supporting & utilizing connections between ideas.

This is a Beta, plus networked writing apps are still fairly novel for most users in general - so this is the time to excitedly consider all kinds of feedback on how to get the most out of an app like this.

As for the refugee, if Obsidian brings value, then they’ll come, but if they bring some methodologies & habits that can work in Obsidian, then shouldn’t those be welcomed? Shouldn’t their transition be as seamless as possible?

Both commercially speaking to retain them as users, but as well as part of Obsidian’s values of personalization and imposing as few limitations to your note taking as possible?

Just some thoughts I’ve had on things, I know this is kinda long, so hopefully it doesn’t come off as rude or harsh.

11 Likes