[REQUEST] MediaWiki Link Support
I don't think this was ever made into an official request, so I wanted to make sure it was not missed.
@orderinthecourts said:
I was thinking of suggesting a new feature to The Archive to allow titled wikilinks in the form of[[201912032209|The Monad]]
as per the MediaWiki specs
https://forum.zettelkasten.de/discussion/comment/3760/#Comment_3760
I think this is a great idea, in large part because it will allow for better semantic linking.
In many contexts, links like this ([[201912032209]] The Monad
) present numerous ambiguities. MediaWiki-style link support will help alleviate this issue.
Howdy, Stranger!
Comments
I ambiguity the single problem you want to solve?
Can you present a more comprehensive use case?
I am a Zettler
I can't speak for @micahredding but I'd like the wikilink label to be programmatically parseable. Then I could generate graphs that show not only that two notes are related, but how they are related (the "how" being described by the wikilink label).
Currently, you can only "label" a wikilink by adding text to the left or the right of the wikilink (e.g.
The Monad [[201912032209]]
). The label can only be extracted if it's the only other text on the line. This would work for structure notes in which case each line consists only of a label and a link.But if the wikilink were embedded in a paragraph, this would be much harder. For example (internet snippet):
It's not easy to extract the wikilink label from its enclosing sentence. For example, does the label really begin at "the", or does it begin with "millions of years ago", or even "When the Higher Manas"? If only the label were delimited by syntax, this would not be a problem:
[[201912032209|the Monad]]
Two problems to solve:
I frequently run into cases of ambiguity around linking. Contrived example:
Does the link refer to the claim, or to the concept of Human Behavior?
Does the link refer to a general statement about Peterson, or to the concept of Human Behavior?
MediaWiki-style links would allow this ambiguity to be cleanly resolved.
Back in 2009 when I started with NV, I tried to figure out a way to stay as Markdown-compliant as possible. MediaWiki Links are no such thing. By adopting the
[[...]]
convention I broke with this in practice. Here's a short rundown:[anchor](http://link.url)
) and reference-style ([anchor][link-id]
+[link-id]: http://link.url
) links.[anchor][§20191221083530]
practice: It was close to the#citekey
references introduced in MultiMarkdown. I never defined the link ID manually: any script could do that as a pre-processor step before transforming the result to e.g. a HTML Markdown rendering: generate an associative array of Ids to file paths and append it to the note text:[§20191221083530]: file://path/to/archive/20191221083530_note.txt
[[ID]]
wiki links omit the separate anchor text. The thing in the brackets is both the anchor text and the link definition.Now what you request sounds like a regular Markdown link. You also seem to not want to lose the ID-based clickability of links. I suggest you combine both where we ended (wiki links) with where things started for me (MD compliance) instead of leaning further into a non-Markdown convention.
You'd have to see what other wiki-link aware apps do (and please share your findings! ) but this will do the trick with a strong bias towards Markdown compliance, with clickable ID in The Archive:
Heads up: Markdown-to-HTML converters like Marked 2 don't like brackets inside brackets. Any preprocessor would have to escape them so the converter gets content that reads
[anchor text][\[201912210730\]]
and[\[201912210730\]]: file://path/to/note
-- that's a bit more work than my§
-sign based prefix, sadly, but at least it is a way out of the conundrum, whereas MediaWiki links are not salvageable at all unless you transform[[201812061420|Human Behavior]]
to[Human Behavior][201812061420]
in a preprocessor.Author at Zettelkasten.de • https://christiantietze.de/
I do not think that would make any practical difference. Semantic linking is not a problem for humans but for machines.
In the course, there is a section called "link context". Basically: A link should be placed after the meaningful unit that you are linking to. After a sentence and the link expands on the sentence etc.
I am a Zettler
I do not think this is correct. I'm often confused, looking at old notes, about what specifically I'm linking to, and whether the correct units of meaning have been connected.
In practice, this means that I'll either have to adopt what @ctietze suggests:
...or use something semantically equivalent, like:
...or, what I often find myself doing, adopting ad-hoc outline formats:
All of these options are probably deficient in some way. But at least in terms of optimizing the reusability and accessibility of information, something like this seems to be crucial.
I don't mean that you cannot confuse yourself. I wanted to express that with a bit of convention we humans are way more capable to understand the context.
I interpreted your request that you wanted a feature to solve a problem of pattern recognition and pattern creation. I'll clarify in the following examples on how I approach the problem:
Link to Jordan Peterson:
Link to Jordan Peterson makes frequently claims
Link to Jordan Peterson makes claims about human behavior being driven by mental models
Links to sense memories
You see: The link context is always the previous unit of meaning.
But any solution you pick does not depend on The Archiv supporting a feature. It depends on you recognising and creating a pattern of a link context. Sometimes, it is easy to create like "See [[ID]] for more on Jordan Peterson making wild claims" or "Details on his claim: [[ID]]"
I am a Zettler