Git-backed wikis, Gollum, and simple installation experiences
Last night I upgraded the Bricolage wiki on Github to the new git-backed wiki that Github rolled out last week. May sound like a trivial thing and not worth a blog post, but it’s quite the opposite, actually — the changes are (almost) revolutionary.
The first really interesting thing about the upgrade is that all of a project’s wiki pages are now simple text files in their own git repository. Now I can update these pages anyway I like, in any one of several markup languages, including POD. On it’s own, that’s pretty useful — now I can clone a project’s wiki along with the project itself and submit changes back as I would any other changes via Git.
The second interesting thing about the upgrade is the offline viewing and editing tool that Github released called Gollum. This is a small Ruby on Sinatra application that — when run in the git-backed wiki repository — runs a local copy of the Github wiki that can be used to view and edit those wiki pages offline (see screenshot above).
On a final note: I remarked to Theory last night that I hadn’t played with RubyGems for a while and I was impressed at how painless and easy the Gollum installation was. He pointed out that ‘gem install’ almost always runs without any tests (unlike the cpan client). I did make me wonder about the best way to distribute a “mini app” like Gollum within the current Perl ecosystem of mini tools and micro frameworks… perhaps cpanm plus Mojolicious::Lite could create a similar “no brain required” installation?
Food for thought.
I've used some times moinmoin (python)... you can too download 'one' compressed archive, uncompress and run (if you've python) your local wiki.
In the Perl land there is ikiwiki[0] backed up by Git... but it is definitively not a 'no brain required' software.
[0] http://ikiwiki.info/
Take a look at Wheat, at least for inspiration. Now, that is a cool git-based blog (see How To Node for a live example).
A gui front end to pip might come close...
pip mytarball.tar.gz