Automatic linking

Saga.so has a really neat way of doing automatic linking (I think they call it magic linking). I would love to have this option in Logseq!

Basically, if you type out the name of an existing page it gets automatically linked. Pretty “simple”.

Hi @Sarah_Arminta, what if you want to type a literal word instead of the name of a page?

1 Like

Can you give an example?

My thoughts are to make it case sensitive and/or provide the ability to right click to remove the link? Another idea could be to disable autolinking to specific pages in that page’s properties for example.

I think auto-linking would be too cumbersome, I would suggest adding a button to each unlinked reference block that links the keyword.

Similar to how Obsidian MD handles it. When you hover your mouse over an unlinked reference block, a blue “link” button appears to link the keyword.
image

12 Likes

For example, I have a page called Python. On another page, I want to type the sentence “I’m learning Python” without linking the page Python. With automatic backlinking it would be hard to do. Do I understand it correctly?

If this is added I would prefer it to be a configurable option - which I could then turn off. I much prefer to make conscious decisions about backlinking so that I only create backlinks when I think there is a reason to do so (and I try to make sure that the reason is obvious in the context around the link). Otherwise the backlink sections can become full off references that don’t really add any value to the main topic and the value backlinks can become devalued by ‘noise’.

6 Likes
  • I also prefer to link manually to avoid extra noise but I can see useful use-cases.
    maybe this would be a good plugin ?

  • @junyu

    On another page, I want to type the sentence “I’m learning Python” without linking the page Python.

    • so there should be a way to escape the autolinking, maybe \Python or ~Python or ^Python would not trigger autolink ?
  • a nice middleground would be an optionnal autolinking for CamelCase or Snake_Case terms, as in most wikis ?

Surely there are useful use cases. Another concern that I have is performance because we need to search constantly as the user is typing in order to create a page reference automatically.

1 Like

indeed, the performance trade-off wouldn’t be great.
for my part I’d rather have better perfs and less features than the opposite… that’s why I’m so happy to see the demo of the plugins api. Features like autolinking could/should be plugins, not core features, so users can chose if they want/need to install them or not…

Welp, it doesn’t sound like anyone else is interested in something like this haha.

Anyways, I do agree it should be a plugin instead of a core feature :relieved:

1 Like

I’m confused by the title. Isn’t “automatic backlinking” already built into logseq? Isn’t this exactly what “Unlinked References” is?

saga.so seems to do forward linking automatically, not backlinking. Or am I missing something here?

2 Likes

we’re referring to autolinking here (automatic forward linking), the topic title may be slightly misleading. eg: if a term already has its own page, using the term anywhere else would automatically link to the corresponding page inline.
say I have a page [[reference]] in the graph, now if I ever write this is a block mentioning page reference, the work reference will be auto-transformed into [[reference]], thus the result would be this is a block mentioning page [[reference]] without the need to write the [[ part.

this is what happens in saga.so (in real time), tiddlywiki has autolink for camelcase (realtime), mindforger has a deferred autolink.

we need to search constantly as the user is typing in order to create a page reference automatically.

@junyu one way to alleviate this issue is by NOT evaluating the text as the user is typing, but rather to provide autolinking as a deferred feature in a menu : once the user has finished typing, one could go to menu>autolink, only then, the parser would go through the text and add relevant forward links by comparing the raw text with the indexed files.
not as fancy as a real-time autolinking, but this could be an easy plugin to implement.

5 Likes

Ok, I changed the title.

This would be a great feature and make logseq more beginner friendly, with an option to turn it off, too

1 Like

I’d see this as a great idea too indeed. I’m quite sure my backlinking will stay being based on conscious decision in order to not clutter up my references with irrelevant backlinkings - but in certain situations I might decide all things on the page ARE relevant - and link them in one flush. Sounds really helpful to workflows :slight_smile:

How about highlighting the possible words instead of Autolinking?
and if needed option to link everyone of them.
Example, freelinks in tiddlywiki

2 Likes

The more options, the better, of course. For me, there would be cases in which highlighting would be ideal, and also cases in which full-blown automatic linking would be useful. (I remember having this option in WikidPad, for example.)

1 Like

It may be useful to make a linking reminder when writing.
e.g. I have a page called Principles of Management, and when I type similar thing in other pages, Logseq will remind me similar pages are there.
It may be more useful than the link button in unlinked reference as it allows immediate connection of ideas.

2 Likes

+1 for easy manual linking. All automated changes can be implemented via BBedit or Textsoap on the file level.

At first glance, this is a great idea, especially when you’re just starting out, but when the number of pages grows, it would become cumbersome. I create lots of links, basically, anything that I might want to run into later, I put in a link. But that implies that anything I don’t link, I don’t want to run in later.

This keeps the difference between linked and unlinked references clear. If stuff appears by itself in my digital garden, then I suspect they’re weeds :wink:

3 Likes