We’ve been hearing a lot of great feedback regarding our current wiki system. Today, we’re launching the first phase in a rollout of a completely rewritten Git-backed wiki system to address these issues. Each page is a file in a directory. Each change is a commit.
A lot of people like Textile, but wikis are one of the few places that don’t support Markdown. The new GitHub Wikis leverage our markup library to support eight formats, with context sensitive help and a toolbar.
Being able to see diffs of changes is another highly requested feature for wikis. Git is pretty good at this already, so we just use the existing tools for showing the history and making comparisons.
You can now reference images hosted inside the Git repository.
Each wiki is a Git repository, so you’re able to push and pull them like anything else. Each wiki respects the same permissions as the source repository. Just add “.wiki” to any repository name in the URL, and you’re ready to go.
We’re also releasing Gollum, the same ruby library that powers GitHub Wikis. Gollum provides a ruby API for accessing and modifying your content, and also includes a small Sinatra web server. Clone the demo wiki to see what’s available, or check out the Gollum readme for more detailed information.
Our hope is that our community can help us make GitHub Wikis better, in the same way you’ve all helped us make GitHub Pages better through Jekyll. If other language implementations pop up, and other Git hosts start supporting Gollum Wikis, that’ll be better for the Git community as a whole.
The new GitHub Wikis are still technically beta. We’re encouraging our users to upgrade wikis on their own, and report any incompatibilities that come up. You’re able to upgrade without disturbing the existing wiki. Once your new wiki is ready to go, you can disable the classic wiki, and we’ll redirect traffic for you.
We’re looking at disabling all classic wikis and forcing upgrades starting September 12th.