Merge branch 'validate-readme-format' into 'master'

Validate README format

Take the first previewable README file as project's README, otherwise if
none file is available, or we can't preview any of them, we assume that
project doesn't have a README file.

Fixes #3978
This commit is contained in:
Robert Speicher 2016-01-05 17:01:33 -05:00
commit d453b24aca
2 changed files with 8 additions and 9 deletions

View File

@ -19,6 +19,7 @@ v 8.4.0 (unreleased)
- Show 'All' tab by default in the builds page
- Fix API project lookups when querying with a namespace with dots (Stan Hu)
- Update version check images to use SVG
- Validate README format before displaying
v 8.3.3 (unreleased)
- Fix project transfer e-mail sending incorrect paths in e-mail notification (Stan Hu)

View File

@ -17,17 +17,15 @@ class Tree
def readme
return @readme if defined?(@readme)
available_readmes = blobs.select(&:readme?)
if available_readmes.count == 0
return @readme = nil
# Take the first previewable readme, or return nil if none is available or
# we can't preview any of them
readme_tree = blobs.find do |blob|
blob.readme? && (previewable?(blob.name) || plain?(blob.name))
end
# Take the first previewable readme, or the first available readme, if we
# can't preview any of them
readme_tree = available_readmes.find do |readme|
previewable?(readme.name)
end || available_readmes.first
if readme_tree.nil?
return @readme = nil
end
readme_path = path == '/' ? readme_tree.name : File.join(path, readme_tree.name)