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


Main article: TiddlyWiki

TiddlyWiki is another independent site wiki that can be self-hosted and used as a personal website. See TiddlyWiki for examples.


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