From IndieWeb
Jump to: navigation, search

IndieWebCamp projects related to wiki-page hosting/creation/editing on your own site.

Existing Projects

Smallest Federated Wiki

Main article: Smallest Federated Wiki

Smallest Federated Wiki was conceived/created/developed/launched at IndieWebCamp 2011


Main article: MediaWiki

MediaWiki runs,, and is used by IndieWebCamp community members like Tom Morris on


Main article: ikiwiki

ikiwiki is another independent site wiki, and is used by IndieWebCamp community members like Philip Durbin on


Thoughts on how an IndieWeb wiki could be implemented

Static Pages Plus HTTP Headers

This is a brainstorm by Tantek Çelik, originally discussed in IRC 2013-091, captured here for potential iteration.
[1:21pm] tantek: I'm actually thinking of, how do I just use a static HTML page itself as the storage for a "wiki" page.
  • static HTML files as their own storage of their current/latest version
  • previous versions stored elsewhere (e.g. the filesystem)
    • date-time-stamp filename suffixing convention
    • new link rel to link to the previous historical version
    • each version linking explicitly (via invisible <link> or visible hyperlink) to the previous version, and current version.
      • this places a content requirement on the otherwise unrestricted HTML files.
      • alternatively if this information (what is the previous version) is kept in a database cache, it can be sent with the server as an HTTP LINK Header with rel value.
    • the combination would satisfy essential qualities 2,3,4 listed above.
  • for editability, it might be a neat trick to write software that made any static HTML page on your site automatically "editable" if you happened to be signed in with Web Sign-in / IndieAuth.
    • similar to revisions/versions, a page could link to its editing interface/version/query parameter with a rel link as well, e.g. rel=edit, which has been previously proposed as part of Universal Edit Button: links for AJAX-driven edits but could be used for server-based editing state as well. E.g. href="?edit=1". Again this might be best sent as an HTTP Link Header.
    • goal: make a page editable without putting any meta/link in the page itself.
      • should be possible to use HTTP LINK rel=edit to an editing script (for browser plugin discovery)
      • perhaps an HTTP LINK rel=script to execute an editing script (for browsers that don't know about rel=edit).

Interface - there are many ways personal wiki software could provide editing / version browsing features, here are a few:

UI for browsing previous versions:

  • slider in Etherpad
  • what puts up in the header on archived page results
  • That ins/del slider demo I made may be of interest/use 06:40, 2 April 2013 (PDT)

Brainstorm summary:

  1. static HTML page as its own storage
  2. *-date-time suffixed versions of said page in the file system (or perhaps in the YYYY/ directories), linking to latest version and previous versions with rel values
  3. HTTP LINK headers for browser-editing-plugin discovery and javascript-based fallback
  4. Access UIs via query parameters e.g. ?edit=1, ?history

Related project:


Other projects that may be of help with designing/creating/building a wiki content system.

  • MementoWeb
    • -1 memento seems horribly overdesigned, e.g. has way too many rels, none of them actually useful: original, timegate, timemap. - Tantek 16:49, 1 April 2013 (PDT)

See Also