Is your feature request related to a problem? Please describe.
I was writing a page in Anytype that was deeply nested inside other pages and couldn’t be accessed easily other than searching for it by name. I was finishing up my work and wanted to create tasks for tomorrow when I realized that in order to find those tasks, I would need to search for the page and then locate the task. There wasn’t an easier option to locate those tasks on the main page (from the dashboard). The only option there was, was to create a task on the main page and link the page I was working on in order to continue my work. Then I realized that a feature I would really like is the option to link blocks.
Describe the solution you’d like
There should exist a possibility to link blocks (text, highlights, title, code…). This would allow the user to refer to the block he/she was writing in another page and use the link to simply lead the reader to the block in the original page. The link should lead precisely to the block it refers to. This solves the problem or having to copy things multiple times when having to reuse the block that already exists. The option to link the block should not turn the block into some special object type like a page and change it’s design but leave it as it is in the page.
Your actual original use case is something that should be addressed more specifically by new object types and relations, coming in the database system. But AFAIK it won’t be a general system for “block linking”.
Then there is the question of whether you want the actual content of the block to be included on any page you link to it from (“transclusion”), or just a link to the block. And then what does that link look like? Is it just arbitrary text that you enter? (since blocks do not have “name/title”) Or an excerpt from the block text?
This also makes me think of the more common “anchor links”, which often work in other systems with e.g. Headers. Extending that to simply work with blocks and block IDs would be great.
Overall it probably makes sense to keep this feature request specific to a particular approach, e.g. “link block with arbitrary text” or “transclude/sync block contents into other pages”, and it would be good to have clarity as to which you were intending and which other people want. But there are certainly other block-level link and reference functions to consider. Roam Research has some good examples of possibly beneficial options.
@Oshyan Thank you for the response. Well I don’t imagine that copying the content of the block when linking would be very useful for me unless the contents update when the original block changes. If it can update then this would be the most desirable solution if you ask me. But anchor links should also be included as an option, since we can then link to page sections, headers etc. and use the first option to actually display specific blocks.
Basic linking to a block: select some text, CTRL+K, search and select desired block. Selected text becomes link to said block.
Block Transclusion: in a new block, type a shortcut (/transclude or /include maybe?), search and select desired block. A transclusion is added (styled in a way that shows it’s a “portal” to the original block). Ideally that can be edited as well, which reflects on the original (unless user locks it to read only). It should also be a link to original block (except where the original content has links).
Inline Block Transclusion: ideally working exactly the same as above, but inline within an existing Block. Particularly useful for quoting short blocks.
By the way, when I say “search and select desired block”, I imagine this happening using the CTRL+K shortcut. That could be the main shortcut for linking anything, not just URL. Typing would filter through everything - Blocks, Objects, Relations, Sets etc. Of course depending on the type of object that is selected there might be limitations regarding how/what to display.
Edit: @Oshyan (or any other poweruser ) do you suggest me doing a new feature request for this?