#### Gitlab Flavored Markdown

I played around with a few methods of utilizing the Gitlab flavored Markdown. My first approach was to write a wrapper class for it and register it inside of Gollum as the default renderer for the *.gfm extension. Afterwards I realized that was a bad idea since you would end up with .gfm files inside the Gollum repo that would not render properly when using Gollum to edit locally.

I settled on this quite basic solution:

```ruby
# Inside GitlabMarkdownHelper
def render_wiki_content(wiki_page)
  if wiki_page.format == :markdown
    markdown(wiki_page.content)    # Use Gitlab Markdown for markdown files
  else
    wiki_page.formatted_content.html_safe   # Use Gollum to render the rest
  end
end
```

Then on line 13 of `app/views/wikis/show.html.haml`, just call that method instead.

```ruby
.file_holder
  .file_content.wiki
    = preserve do
      = render_wiki_content(@wiki)
```

I think this is the cleanest approach. All of the special Gitlab Markdown features work (@user links, issue # links, etc.) when you view the page in Gitlab and the page still renders correctly in Markdown when views from within Gollum.

If you are happy with this approach, I will push one more commit with this change.

#### Supported Formats

I personally don't see any problem with giving the user the option to choose which formats they want available within their config files. They can install the dependencies they need for the formats they wish to use.

However, this really isn't a big issue for me. I use Markdown for 99% of my projects and RDoc for the other 1%. I think that the list suggested by @brodock probably seems like the most reasonable.

I do think there isn't much reason to support native Markdown, as Gitlab/Github markdown has become standard most everywhere and the original markdown implementation was quite inferior in my opinion.

Bottom line, I could go either way. Let me know what formats you want supported and I will push a commit limiting it to just those.