Using Livebook and GitHub as the basis for a distributed wiki?

Although Elixir Forum and HexDocs (etc) are great resources, they don’t have the topic-bound organization used in a wiki. So, for example, looking for a current summary page on a particular tool or technique can be tedious.

If the Elixir community wanted to use an existing wiki engine, there are lots of freely available options. MediaWiki is clearly the elephant in the room, but it is unabashedly optimized for the needs of Wikipedia and so might not be a good fit for other projects.

Some other offerings (e.g., Foswiki, TWiki) offer less opinionated and more generalized support for “enterprise” wikis. So, for example, they offer access control, limited scripting capabilities, etc.

However, most of the available offerings are based on a single main server, possibly augmented by mirror sites. This seems rather inconsistent with Elixir’s distributed nature. More critically, they don’t offer the sort of Elixir scripting found in Livebook.

Also, the single-server approach typically leads to a “forced consensus”, where only one point of view is presented on each topic. One interesting exception, Ward Cunningham’s Federated Wiki, employs a distributed approach in an effort to encourage diversity of opinions.

In any event, I’m wondering whether some combination of Livebook and GitHub could form the basis for an Elixir-friendly distributed wiki. FWIW, the basic idea is that random users could download and run Livebooks on particular topics. If desired, the pages could be edited and perhaps submitted as updates.

Does anyone else find this notion interesting?

-r

1 Like

Neat idea @Rich_Morin!

I’ve been thinking about this space for some time.

In case it gives you some ideas:

  • I built a social note-taking site. It was centralized but it allowed every user to have one page per topic. Yet, I would have liked to make it federated at some point.
  • I recently started an open-source side project about Livebook notebooks (notes.club).

The federated wiki:

  • Could live on Github or any site which hosts the livemd files.
  • Be built within the Livebook app. Your Livebook instance could navigate across the notebooks from others.
  • Or be in some kind of app or site/s on top of Livebook.
1 Like

One interesting thing, you can actually manage GitHub Wikis as a Git repositories:

git clone git@github.com:elixir-lang/elixir.wiki.git

However I am not sure if it will support .livemd files.

An Elixir livebook powered wiki can be very slick. However, I think the point of a wiki is that it enables a group of enthusiastic editors working together to produce high quality contents in an organized way. So I am not sure how attractive a distributed wiki would be.

1 Like