gitlabhq/gitlabhq — pull request #3183 by DanKnox (2013-03-10 01:24:55+00:00)
Title: Replace current Wiki system with Gollum Wikis.

This commit replaces the old database backed Wiki system with the
excellent Gollum git based Wiki system.

The UI has been updated to allow for utilizing the extra features
that Gollum provides. Specifically:

* Edit page now allows you to choose the content format.
* Edit page allows you to provide a commit message for the change.
* History page now shows Format, Commit Message, and Commit Hash.
* A new Git Access page has been added with the Wiki Repo URL.
* The default page has been changed to Home from Index to match
the Gollum standard.

I did my best to keep the new code consistent with the rest of the repository and follow the conventions that have already been established.

The old Wiki model has been left in tact to provide for the
development of a migration script that will move all content stored
in the old Wiki system into new Gollum Wikis.

The entire test suite for the project is currently 100% passing on my local dev environment with the most recent master branch merged in as of today.

### My Reason For Submitting This

The company I work for is planning on cutting over to Gitlab fully next week. As we are currently
developing many internal services that require extensive API documentation, having a robust and flexible Wiki system attached to each service repository is an absolute must for us. Gitlab is an amazing application that continues to get better each day and I truly hope you accept this new feature.

This will also allow users to transfer Wikis out of Github and into Gitlab by just cloning and pushing to the new remote.

### Note About Migrating

I understand that for you to include this feature into the next release, a migration Rake task will need to be developed to migrate all of the existing content that is stored in the current database backed Wiki system. I am more than happy to develop this if you are happy with the implementation that has been developed thus far and wish to accept this change into master.

I am submitting this now without the migration task because I wanted to get your feedback and make sure you will actually accept this feature before putting too much more effort into it.

### Preview of UI Changes

* __Wiki Home Page__

![Wiki Home Page](http://danknox.github.com/images/gitlab/gollum-home-page.jpeg "Wiki Home Page")

* __Edit Page__

![Edit Page](http://danknox.github.com/images/gitlab/gollum-edit-page.jpeg "Edit Page")

* __"All Pages" Page__

![Wiki All Pages Page](http://danknox.github.com/images/gitlab/gollum-all-pages-page.jpeg "All Pages Page")

* __Page History Page__

![Wiki Page History Page](http://danknox.github.com/images/gitlab/gollum-history-page.jpeg "Page History Page")

* __Git Access Page__

![Git Access Page](http://danknox.github.com/images/gitlab/gollum-git-access-page.jpeg "Git Access Page")