Clone this wiki locally
Here we describe general concepts and introduce terms that we will use freely in other documentation.
federated wiki is a collection of
federated wiki servers that can share pages encoded in
page json. Servers are expected to respond to requests of the form:
- example.com -- retrieve the server's home page as html
- example.com/somepage.html -- retrieve somepage as html
- example.com/somepage.json -- retrieve somepage as json
- example.com/favicon.png -- an identifying image, conventionally a 32x32px color gradient.
Note: servers can participate in the federation returning only json and the favicon. However, the html versions offer a compatibility with the traditional web. Minimally
paragraph items and
image items should be rendered by the sever so that this content can be indexed by search engines.
- retrieve and render the json version of the page
- retrieve and render json cited by
- extend the repertoire of renderable
item typesby consulting a
associatedata sources and possible renderings on available pages
actionsthat modify pages.
federated wiki depends only on the read-only retrieval of json encoded pages.
page json must parse as legal JSON and adhere to some conventions.
- top level is object with members:
- the title is a plain-text string describing the page in five to fifteen words.
- the story is array of
items, each an object with members:
- the journal is array of
actions, each an object with members:
There are a few universal story item types that every federated wiki server is expected to render. Unrecognized types should be ignored, possibly rendering with a notice.
- Items of type
textmember subjected to
- Items of type
captionmember link rendered and a
urlmember used to retrieve the image.
There are a small number of journal action types that every federated wiki server is expected to render. These are
Links are encoded in plain text using a subset of the Mediawiki notation.
external linksare enclosed in single square brackets and consist of an
external link text.
internal linksare enclosed in double square brackets and consists of
internal link textwhich can be compressed into a url-safe
It is not yet determined what additional markup will be universally accepted. Likely it will be some small set of safe html tags. Note that complex page rendering has been pushed into the variety of item types. Tables, for example, are expected to be represented in a semantically useful form that can be viewed, edited and still feed associated items.