[Tip] Markdown headers and more precise cross-linking

Responding to the issue described in [Discussion] Strict Cross Linking:

Wiki-linking in Drafts has a fuzziness/looseness to it. That allows us to forego the leading “#” in linking to a draft by title, but creates an issue when the same text string is used within the title of more than one draft. A title needs to be unique if it’s going to be used as a reference link; or to be more precise in this context: a wiki-link needs to at least be able to target something of a draft’s title that is unique to that draft. If you target your drafts using UUIDs or Zettel style timestamps, you’ll most likely escape this issue.

Many of the available cross-linking actions make use of the drafts.displayTitle attribute, creating links based on titles without the leading “#”. So a draft titled # Deterministic System is linked to via [[Deterministic System]]. As case sensitivity isn’t considered, I can drop a [[deterministic system]] link in the natural flow of a block of text (note the lower case).

Sounds obvious, but in cases like this consider including the “#” symbol in the wiki-link. This allows you to use the title-text as text within the title of any other draft while avoiding link-clash. A link to [[# deterministic system]] should avoid the issues detailed in the post above.

8 Likes

quite a nice and simple prefix solution.

I love it. It even works if you have a title like ### Lower Level Title and still use it with a single hash [[# Lower Level Title]]

Cool.

1 Like