Proposal: bi-directional link feature

What

Why

  • Software such as logseq and obsidian have achieved success because of their support for bidirectional links. This shows that this is a feature that people need.

  • Bidirectional links allow people to better organize their documents. It can help people better swim in the ocean of knowledge. For example, I wrote an article A, which has a hyperlink pointing to another article B. And if I am browsing article B the next day, I want to find some articles related to article B. Then I can find article A through the two-way link.

  • Bidirectional links can also help us form the graph structure of the document.

How

  • Design the implementation of bidirectional links. For example, through a specific primitive.

  • Realize that when we add a hyperlink with a new primitive in document A, the modification will be automatically made in document B. In the backlinks section of document B, relevant URLs are automatically added.

  • Some problems: If you use a URL to save a bidirectional link, the bidirectional link will become invalid when the document is moved to another location. Consider how to overcome this problem.

We can implement the GUI like this
image

I think if we can implement this, we can help TeXMacs and Mogan gain great success. Because afaik, there are no software can support bi-directional link and math display at the same time :slight_smile:

Bidirectional linking is an indispensable feature, integral to any evergreen note-taking system. I believe that leveraging the full potential of this feature becomes possible only when you have a clear understanding of the big picture.

Jon Sterling @jonsterling has provided insightful reflections on the concept of evergreen notes. I highly recommend reading his notes Evergreen notes in the sciences and exploring related links. Building upon these ideas, he has developed a remarkable tool for evergreen notes, called Forester. For more examples of forests made by Forester, please visit List of forests and explore the links provided. This type of tool is what we should strive for in TeXmacs, rather than starting from scratch. Bidirectional linking may serve as a foundational element, but it should not be the focus.

Besides, @Trebor has created a VSCode plugin vscode-forester for Forester.

This statement is inaccurate. Obsidian includes native MathJax support, Notion features built-in KaTeX, and Logseq offers LaTeX plugins, among others. Therefore, I don’t believe that a single feature would be significantly impactful if it’s perceived as a standalone enhancement.

1 Like

A forester interface and indeed this methods of organising loosely connected informations is indeed a very interesting goal for TeXmacs. We essentially have much of the infrastructure needed, backlinks together with scripts to convert to HTML, PDF, etc… are the things one need to develop.

1 Like

TMML Wiki should be the one of the best use cases of bi-directional link.

locus acts like bi-directional link, but maintaining locus is cumbersome.

I think it should be implemented by a database: https://github.com/toeverything/OctoBase

For the current impl, it means, you are implementing a language server for the tm format. And the maintaining of the bi-directional link is just like the refactoring feature of the language server.

An adhoc design is not correctproper in the point of software architecture.

I agree with @darcy, database is a sensible solution. For those who are interested in this feature, org-roam has something similar and offered some use cases.

1 Like