Internal URL/hyperlink

Hi there

First of all, thanks for an awesome programme. I’ve been looking for something like Joplin for ages and it’s perfect for my needs.

I note that it’s possible to create hyperlinks that can be used to link text in one document with another document. But it seems to require that I know the ID of the note I want to link to.

Would it be possible to implement a search feature within the “Insert hyperlink” dialogue box? For example, I want to link some text in the current note to another one called “Lecture 1”. Instead of pasting a URL into the dialogue, I start typing “Lecture”, which filters all local notes and displays those that have “Lecture” in the title. When I click one of the filtered results, it creates the internal link.

Thanks again,
Michael

1 Like

Hello, and welcome to the forum!

Have you noticed the “Copy Markdown Link” option when you right-click a note?
Then just paste the link where you want it. No fiddling with IDs needed.

3 Likes

Thank you. I hadn’t seen that option. That’s very helpful.

1 Like

And you can also link to a heading or an anchor to take you to a specific part of your "target" note.

1 Like

This really needs to be enhanced from a UX perspective. There is a lot of potential here. The actual functionality is there, but the usability is not.

For example: rather than having to right click a note -> copy link -> go back to note being edited -> paste link, you should be able to (for instance) start typing [[ (two square brackets) and then start typing a note name. This brings up a dropdown auto-hint box with matching notes. You can use arrows to select one and then enter to insert the link. This is how many Wiki editing apps work. The double square notation is just the wiki style, but you could just keep it with markdown and open the dropdown when a single square bracket and a note name is typed.

Same thing for headers. If you start typing: [My Note#Hea the “#Hea” will trigger a search for headings with “My Note” and also give a dropdown to autocomplete.

Want to link to notes in another notebook? You would start typing: [OtherNoteBook/Note and an autocomplete box appears at the cursor with notes starting with “Note” inside of “OtherNoteBook”.

This is a great feature for a Google Summer of Code intern to be working on. It borrows intellisense / code-completion features from programming IDEs, and makes the whole linking between notes feature much more user friendly. It also means Joplin can be more easily used in a Wiki style which I know many people use it for (personal wikis etc.) I know I have tried to do that, but the linking functionality is just not quite there yet. This would make it perfect.

#GSoC #2020

10 Likes

This has been suggested before, and it would certainly be a great feature. Especially for referencing a section in a note.
The logic from Goto Anything might be used to get started.

@laurent can we add this to the GSOC ideas?

Yes it’s true it would be a useful feature and I think a good candidate for GSoC. If someone can create a pull request with a spec, we can merge.

I’ll try to find the other topics about this.

@jis2507 do you want to write a requirements document (specs) for this? I can proofread and then we can add it to GSoC.

Happy to write a spec for this, but not sure on the format / process for doing this? @tessus is there a standard Joplin way of doing this, or is there a particular format needed for GSoC? Also happy for somebody else to do it that knows the process better, and I can provide input with my own ideas.

I don’t think there’s a special format but it could simply be a Markdown file with these sections:

  • Abstract: in 2-3 lines, what the project is about, why it’s needed.

  • Specifications: as much details as possible about the feature. I think your post above is pretty much it.

  • External links: a link to the discussion here, or any other link you can find related to the feature. As I understand, they want to see that there’s interest around the feature and discussions happening so that would be the point of this section.

Perhaps @PackElend has additional suggestions about this.

I added the tags in the OP, this the very first topic in this regard.
It can be added to the projects list.

I still have to come up with a proper structure how such proposal shell look like.
How about

  1. Current functionality
  2. Futur functionality
  3. why it should be done
  4. how shall it be done (more technical than 2.)

Hmm, Laurent's structure is better.

The abstract, which is at the beginning already explains why it is needed.
The specifications is basically the requirements document (as referred to in software engineering, but the term 'specifications' is mostly used these days).
And the external links section provides proof that other people would like to see this feature as well.

The current functionality is irrelevant and mostly will be one sentence: It does not exist.
Future functionality and how shall it be done are in the specifications and the why is in the abstract.

Sorry was too quick reading it, I’m in

7 posts were split to a new topic: GSoC 2020 ideas

That's really great! It would be more obvious if there was a non-contextual menu for notes making it easier to find :slight_smile:

1 Like

Hi, I'm wondering if there's been any progress on the autocomplete feature? This might be something I'd be interested in contributing.

1 Like

From my understanding there hasn't been any progress. The current pre-release of Joplin does have early support for plugins though so implementing and sharing such a feature should be easier than it was before!

2 Likes

Hi there - new Joplin user and I just found this old thread looking for this feature. Has there been any progress? Wikis do this, other note taking apps (e.g., Obsidian) do this. I would consider a must-have feature...

I think the Obsidian implementation is the same a the Wiki implementation, [[foo]] will link to a page named foo, and if it doesn't exist you can find a category of links without targets and create them easily. This makes it good for crosslinking, as well as good for creating placeholders you want to complete later.

This now exists as a plugin. It doesn't use the special syntax, but that's because Joplin tries to conform to standard markdown.

1 Like