RFC for wikilinks
I'm on the fence about this one, but [[wiklink]] could be normalized to a /slashlink such that it's actually just an alternative notation.
Advantages:
- Wikilinks are used in a number of other applications. Surface-level familiarity and compatibility.
Disadvantages:
- Complexity of having two notations for the same thing
- Wikilinks are sorta ugly
I like the single character / for links also.
Some more inspiration - orgmode uses the wikilink syntax - https://orgmode.org/guide/Hyperlinks.html
Q. How would you handle spaces with a slash?
with quotes? (looks weird)
This is a link: /"foo bar"
or brackets? (better)
This is a link: /[foo bar]
or backslashes? (like linux, but hard to read)
This is a link: /foo\ bar
or just not allow them? I guess it depends on what links point to -
This is a link: /foobar
More from your wikilink.md file - https://github.com/subconsciousnetwork/subtext/blob/main/explorations/wikilink.md -
Wikilinks and search links
"Any sufficiently advanced search is indistinguishable from a hyperlink". Rather than linking to file paths or URLs, links could include a search string, allowing a client to choose the best match from an index. This "search link" approach is inspired by Notational Velocity's treatment of [[WikiLinks]] as search strings.
& French toast recipe
Important: we must consider how this would interact with multiple reference links. How might the syntax for search strings and URLs be differentiable?
On the last point, maybe [[french toast recipe]] could be a search, /[french toast recipe] could be a link?
That exploration references an earlier version of Subtext that has been superseded by the latest spec. Subtext now has a link form called a /slashlink that may be embedded in the text body. You can think of it as roughly a relative URL.
My preferred approach given Subtext today is to normalize [[Link Text]] to /link-text. You can write either one. Wikilink style allows you to includes spaces, cases, etc.
The major advantage to this approach is that wikilinks then have a defined semantics for normalization to paths/URLs.
We went forward with this approach in Subconscious 0.0.4 Alpha and it works well in practice. I need to put together and RFC for the language spec to reflect this. https://subconscious.substack.com/p/subconscious-alpha-004