diff --git a/modules/markup/markup.go b/modules/markup/markup.go index 0847fcfb0dfe..dc27997e8d03 100644 --- a/modules/markup/markup.go +++ b/modules/markup/markup.go @@ -59,6 +59,15 @@ func Type(filename string) string { return "" } +// ReadmeFileType reports whether name looks like a README file +// based on its name and find the parser via its ext name +func ReadmeFileType(name string) (string, bool) { + if IsReadmeFile(name) { + return Type(name), true + } + return "", false +} + // IsReadmeFile reports whether name looks like a README file // based on its name. func IsReadmeFile(name string) bool { diff --git a/routers/repo/view.go b/routers/repo/view.go index 2e4b2644cdb0..165284a59953 100644 --- a/routers/repo/view.go +++ b/routers/repo/view.go @@ -56,13 +56,19 @@ func renderDirectory(ctx *context.Context, treeLink string) { var readmeFile *git.Blob for _, entry := range entries { - if entry.IsDir() || !markup.IsReadmeFile(entry.Name()) { + if entry.IsDir() { + continue + } + + tp, ok := markup.ReadmeFileType(entry.Name()) + if !ok { continue } - // TODO: collect all possible README files and show with priority. readmeFile = entry.Blob() - break + if tp != "" { + break + } } if readmeFile != nil {