Edit: Since block referencing and embedding was implemented in 0.9.5, this workaround is no longer needed.
TL;DR:
Can Obsidian do block linking?
Yes, but it behaves differently from other PKM apps. Create a block reference by wrapping the target block—or sentence, or phrase, even—in [[square brackets]]
. Then, create a new note with this link. There! Now you can reference that “block” elsewhere.
You may add content to the new note, but you don’t need to. A best practice might be to include a link back to the “originating” note at the top of the new note, just to make it easier to navigate back to the original block.
In other words, block linking and embedding is easily possible as long as you accept that you’re “creating new notes” to facilitate the feature. This happens behind the scenes in other PKM apps, but it enables interoperability and data ownership in Obsidian.
An additional constraint: blocks referenced in this way must abide by the filenaming rules of your OS.
- - -
One of the most common qualms about Obsidian takes the form of a question: “Does Obsidian have block referencing?”
Licat has a diplomatic response:
You can link to/embed headers right now which works for most use cases
However, this doesn’t need to be true. Obsidian does have block linking.
Roam Research’s block linking is possible because Roam treats every line as a unique data object, attaching a unique ID to each one (along with some other metadata, I’m sure). Obsidian, instead, uses plain text files. Ergo the lines of text are not uniquely addressable without additional workarounds, some of which may violate the principles behind working with plain text.
Roma’s block linking is possible because it doesn’t “have” or “use” files. However, the files exist as data objects. Every block is its own file. In Roam, you just can’t see those files.
In Obsidian, you can.
So, if you want block level referencing, in Obsidian, you just need to wrap the blocks you’re targeting with [[ ]]
. Then create the new note. If you want, you could then include a bit of text in the note referring to the originating note to aid navigation later.
Tada. You can now reference and embed that block anywhere. It doesn’t matter that the linked note contains no text. Its own Backlinks will lead you back to the original note. Edits to the link will rewrite the note title and other backlinks. Magic!
This is actually the same thing Roam does, under the hood. The only difference is that block linking here requires an extra step when creating the block reference (initiating the link) and when going back to find the original note (this requires two steps instead of one).
But you can have your cake and eat it too.