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.

Where’s Markdown support?

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.

Git-Powered History and Comparisons

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.

Images and Folders

You can now reference images hosted inside the Git repository.

Importing and Exporting

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.

View Your Content Locally

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.

Where’s the Script?

We’ve decided to improve the public wiki experience by hosting everything under the main github.com domain. To do this, we’ve had to sanitize all javascript and CSS in the wikis. You will no longer appear to be logged out when reading wikis for open source repositories.

How Can I Upgrade?

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.