The Magic in Hypermedia is the ability to connect and make network of information that people can follow and interact with. Right now we are not even close to expose all the potential we have with the system.
This project aims to define a common way to interact with Hypermedia references that users love.
Solution
References in documents are basically the same thing no matter what's the type of it. Users (readers and creators) should be able to "inspect" references and understand what they are seeing.
The Three reference types we currently have in the system are:
Links: When interacting with link references, the main interactions will be on hover and around popovers
Inline Embeds: Similar to links, the interactions here will be around popovers and hover effects
Block Embeds: Interactions on block embeds are more flexible since we have more space and more control over how we can render them.
We will need to explore how we can take advantage of the side annotation space for references, but because of some technical complexities, I decided to leave them for a future project.
We are going to describe the Interactions any user can do with references. the way they will interact with it will depend on the reference type, but it should not change much between them.
As a Reader, I want to see what branch/version I'm reading
it should be possible to let the reader know what branch/version is being rendered in the document.
As a Reader, I want to see the original version referenced when we see the latest ref.
when the author links to the latest version of a reference, it will carry the version that was the latest at the moment of publishing. Readers should be able to see the exact version at any point
As a Reader, I want to open a reference in a separate window
As a Reader, I want to see a small preview of the reference in place
this could be implemented like the cards that Obsidian shows when you hover over a link