and Render Them as Anchors [⇒ MiniLatex: a Parser-Renderer for … ⇐ Render Wiki Link]
Ward found this page browsing today (2023-09-12). This seemed to miss a very important federated wiki concept unique to its Internal Links, with operate by a "Collaborative Link" semantic. matrix
This in particular seemed wrong:
type alias WikiLink = { label : String , target : String }
More correctly a federated wiki Internal Link would consist of a title and a Context.
An internal link's Context provides a path to be searched when the link is clicked. The origin, the remote site, the reference cite and forks in the journal all contribute to the context.
The context fills a role similar to the $PATH in unix. It is extracted from the fork history in the journal and sometimes site properties of items containing the links. matrix
You may find this implementation of a federation reader in java interesting:
github
Here are two implementations of load(), one that works for the rare case such as browsing Recent Changes when you know what site is expected to have the page. The other, longer, implementation constructs the context then iterates through the context in a very specific order to find the most preferred version of a page stored in many possible places.
code , matrix
This implementation includes a very simple test runner which will check to be sure you are implementing collaborative links correctly. In a recent javascript implementation I got the context ordering subtlety wrong so I wrote more tests to confirm that it has been implemented correctly. matrix
Here is the recent javascript async and tail recursive implementation of resolve(context,slug) that passed the test:
code , matrix
Here is the test suite written in wiki pages that will run when clicked. You can click through the tests manually once they finish running. page , matrix
~
The UrlRequest type is used for making HTTP requests in Elm. It is typically used in combination with the Http module to send requests to servers and handle responses. The UrlRequest type allows you to specify the HTTP method, headers, URL, and other parameters needed for the request.
type UrlRequest = Internal Url | External String
> All links in an application create a UrlRequest. So when you click <a href="/home">Home</a>, it does not just navigate! It notifies onUrlRequest that the user wants to change the Url. page
Wiki distinguished between two link forms, internal and external. Internal links received special handling as words with unique meaning to a community. See Context
The wiki global offers plugins an implementation of Collaborative Link called doInternalLink.
The web became more collaborative with wiki's introduction of the Internal Link. Link names were drawn from a shared space backed up at the time by shared storage. Federated wiki's internal links preserves the shared space but not the shared storage making it the ideal link for the distributed collaborative web.
An internal link's Context provides a path to be searched when the link is clicked. The origin, the remote site, the reference cite and forks in the journal all contribute to the context.
Links that indicate their relationship type. For example, here's a wiki-style link that includes a relationship qualifier (instead of "OTHER-NOTE", insert your usual link ID format):
is intended to be the lingua franca Wiki Syntax of the most popular offshoots of wiki around the world, used both for editing directly and as an Wiki Interchange Format for sharing content between wikis. The beta Wiki Syntax was banged out at Wiki Sym 2006. Apparently, Wards Wiki will be one of the test beds! So far, the creole supports Media Wiki-style Free Links and preformatted text. Creole has been implemented now in 10 wiki engines and 4 wiki tools. It is currently version 1.0.
> Link to wikipage
Wiki has a distinct markup for links that go to pages outside the wiki. Here we suggest a style for using that markup that suites both writer and reader.