Merge pull request #1386 from tsigo/github_markup

Use GitHub::Markup to parse markup files
This commit is contained in:
Dmitriy Zaporozhets 2012-09-09 03:34:50 -07:00
commit 2e8b5ebefd
7 changed files with 34 additions and 9 deletions

View file

@ -44,7 +44,8 @@ gem "ffaker"
gem "seed-fu"
# Markdown to HTML
gem "redcarpet", "~> 2.1.1"
gem "redcarpet", "~> 2.1.1"
gem "github-markup", "~> 0.7.4"
# Servers
gem "thin"

View file

@ -178,6 +178,7 @@ GEM
gherkin (2.11.0)
json (>= 1.4.6)
git (1.2.5)
github-markup (0.7.4)
gitlab_meta (2.9)
grape (0.2.1)
hashie (~> 1.2)
@ -396,6 +397,7 @@ DEPENDENCIES
ffaker
foreman
git
github-markup (~> 0.7.4)
gitlab_meta (= 2.9)
gitolite!
grack!

View file

@ -1,3 +1,5 @@
require 'github/markup'
class RefsController < ApplicationController
include Gitlab::Encode
before_filter :project

View file

@ -24,4 +24,14 @@ module TreeHelper
content.name
end
end
# Public: Determines if a given filename is compatible with GitHub::Markup.
#
# filename - Filename string to check
#
# Returns boolean
def markup?(filename)
filename.end_with?(*%w(.mdown .md .markdown .textile .rdoc .org .creole
.mediawiki .rst .asciidoc .pod))
end
end

View file

@ -43,11 +43,7 @@
%i.icon-file
= content.name
.file_content.wiki
- if content.name =~ /\.(md|markdown)$/i
= preserve do
= markdown(content.data)
- else
= simple_format(content.data)
= raw GitHub::Markup.render(content.name, content.data)
:javascript
$(function(){

View file

@ -9,10 +9,9 @@
= link_to "history", project_commits_path(@project, path: params[:path], ref: @ref), class: "btn very_small"
= link_to "blame", blame_file_project_ref_path(@project, @ref, path: params[:path]), class: "btn very_small"
- if file.text?
- if name =~ /\.(md|markdown)$/i
- if markup?(name)
.file_content.wiki
= preserve do
= markdown(file.data)
= raw GitHub::Markup.render(name, file.data)
- else
.file_content.code
- unless file.empty?

View file

@ -0,0 +1,15 @@
require 'spec_helper'
describe TreeHelper do
describe '#markup?' do
%w(mdown md markdown textile rdoc org creole mediawiki rst asciidoc pod).each do |type|
it "returns true for #{type} files" do
markup?("README.#{type}").should be_true
end
end
it "returns false when given a non-markup filename" do
markup?('README.rb').should_not be_true
end
end
end