pbek / QOwnNotes

QOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration.
https://www.qownnotes.org/
GNU General Public License v2.0
4.5k stars 405 forks source link

Suggestion: backlinks #1717

Open visika opened 4 years ago

visika commented 4 years ago

Many note-takers are enjoying the backlinks feature as seen in Roam.

It could be useful (maybe in the form of a script) to implement that here too.

pbek commented 4 years ago

Can you please describe what the "backlinks feature" does and how it should look like in Markdown?

visika commented 4 years ago

Sure. Backlinks keeps track of the places where the current note has been mentioned. A backlinks panel would list all the notes in which there is a link pointing to the current note. This is useful to discover connections between topics, ideas, people that we didn't purposely make.

I suppose the process of creating a link would not differ from what currently is in Markdown. The work should be done from a scraper that looks through the notes in search of links.

Similar implementations may be found in org-roam, Obsidian (not open source).

pbek commented 4 years ago

Thank you for your suggestion. Such a thing could be placed into the navigation panel. Of course creating a directory of backlinks would be a bit resource hungry and all notes would need to be parsed every time the note folder is reloaded and partly when a note is stored.

Gregory-K commented 4 years ago

"Corresponding note references" (naming stolen from Drupal, https://www.drupal.org/project/cnr) is a nice feature, though, I think it needs a database in order work fast enough to be useful.

Can we use the notes.sqlite for something like that and refresh it on "start" or manually?

pbek commented 4 years ago

Can we use the notes.sqlite for something like that and refresh it on "start" or manually?

That would be a lot of work and even take more cpu time to sync that every time the note folder is reloaded.

Gregory-K commented 4 years ago

suggested steps

OK, it will not be fully dynamic and "live" but it will fill certain needs.
Now, about the database use or not, of course, you know what is best.

thought:
... create a specific header or footer block (inside the note) where note references will be updated
I know that this is imposing a certain note template/structure, but it will also work with plain text/md editors/readers

Waqar144 commented 4 years ago

It would be better if its not 'auto refreshed' at all, just once on startup.