Backlink support

I thought a little about the bugs and came to the conclusion that it is very hard for such a complex project, a solo developer and a relatively small user base to fix all bugs. I can see that this project is very important to you and I greatly respect what you have already achieved.

I also thought a little more about that topic and what I would want from a note taking app. I watched a video of you where you talk about how you take notes (Title: How I take tech notes as a note app author). You mentioned a 4-step process for solving problems: Identify, Research, Validate and Reuse. Especially for the last step (Reuse), it would be great to have the linking between notes. The notes that are created in the last step represent knowledge that can (and probably will) be reused, so I personally would take some more time to create them. This way I could refer to them in the future and still understand them. And knowledge like that is rarely isolated, but rather linked. It is also hard to categorize knowledge into a hierarchy (like the notebooks). The natural way for putting knowledge in context would be linking, at least for me.

One could use the notebooks like you described, i.e. one for each project. The learnings of each project’s issues could have some connection, which could be represented via linking.

These are just some more thoughts, since I think the linking – that Obsidian introduced me to – is really great. But Obsidian lacks the tools to isolate specific projects when working on them (Inkdrop Notebook) and tracking the statuses and open tasks in a nice way (Inkdrop note status and task overview in notes panel). Inkdrop is also cheaper, since sync is included in the paid plan and you don’t need an additional license when using it in a company.
Currently Obsidian would be great for knowledge and maybe meeting notes, because links are very helpful in those cases. And Inkdrop would be great for tracking issues and notes related to programming. I will have to keep thinking :melting_face:

1 Like

This topic has been moved to a new topic since it is about the new feature - backlink support.
In terms of implementation, it’s actually easy to get incoming references by simply searching notes with the note ID.
Ideally, it should manage internal links strictly by parsing the notes (just like Obsidian) in the future.

As a quick dirty hack, it can be done something like this:

const db = inkdrop.main.dataStore.getLocalDB()
const results = await db.utils.search('inkdrop://note/NOTEID')
results.docs // -> an array of notes that have links to the specified note

so, it is possible to support displaying backlinks in the current version.
then, you can display the links in the right sidebar like sidetoc or somewhere.

@Lukas @NotApplicable Are you interested in creating a plugin for it? :slight_smile:

2 Likes

maybe @Ryan_McQuen will love it lol

1 Like

Another idea related to backlinks is to support placeholder links.

Let’s say you create a link with an empty uri like so:

[This is a link]()

It will looks like a normal link in the preview, but when you click it, the app will create a new note with a title “This is a link” in the same notebook and insert the link URI to the current note.
So, you don’t need the wiki-like “[[***]]” syntax to accomplish the wikilinks while preserving the full Markdown compatibility.
I’m currently planning to support it in the future.

1 Like

I prefer the Markdown compatible syntax.

1 Like

I have released a simple plugin to display backlinks from a note.
Just let me know if something is missing.
Maybe I will add a way to create new notes later.

2 Likes

@Lukas cool!!! It works great! Thank you so much for creating this XD

I’ve already implemented the placeholder link feature and it will be available in the next release.

Cheers :partying_face:

2 Likes

Creating a link with an empty uri is now supported in v5.7.0:tada:

You can create a link with an empty URL like so:

[This is a link]()

Then, click the link in the preview and you get a new note with the link title.