diff --git a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala index 047a548..a48a68c 100644 --- a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala @@ -938,10 +938,10 @@ context.settings.repositoryViewer.maxFiles ) val parentPath = if (path == ".") Nil else path.split("/").toList - // process README.md or README.markdown - val readme = files + // process README + val readme = files // files should be sorted alphabetically. .find { file => - !file.isDirectory && readmeFiles.contains(file.name.toLowerCase) + !file.isDirectory && RepositoryService.readmeFiles.contains(file.name.toLowerCase) } .map { file => val path = (file.name :: parentPath.reverse).reverse diff --git a/src/main/scala/gitbucket/core/controller/api/ApiRepositoryContentsControllerBase.scala b/src/main/scala/gitbucket/core/controller/api/ApiRepositoryContentsControllerBase.scala index 6559e38..519568c 100644 --- a/src/main/scala/gitbucket/core/controller/api/ApiRepositoryContentsControllerBase.scala +++ b/src/main/scala/gitbucket/core/controller/api/ApiRepositoryContentsControllerBase.scala @@ -23,9 +23,12 @@ Using.resource(Git.open(getRepositoryDir(params("owner"), params("repository")))) { git => val refStr = params.getOrElse("ref", repository.repository.defaultBranch) - val fileList = getFileList(git, refStr, ".", maxFiles = context.settings.repositoryViewer.maxFiles) - fileList.map(f => f.name).find(p => readmeFiles.map(_.toLowerCase).contains(p.toLowerCase)) match { - case Some(x) => getContents(repository = repository, path = x, refStr = refStr, ignoreCase = true) + val files = getFileList(git, refStr, ".", maxFiles = context.settings.repositoryViewer.maxFiles) + files // files should be sorted alphabetically. + .find { file => + !file.isDirectory && RepositoryService.readmeFiles.contains(file.name.toLowerCase) + } match { + case Some(x) => getContents(repository = repository, path = x.name, refStr = refStr, ignoreCase = true) case _ => NotFound() } } diff --git a/src/main/scala/gitbucket/core/service/RepositoryCommitFileService.scala b/src/main/scala/gitbucket/core/service/RepositoryCommitFileService.scala index 9dbee15..6a0f651 100644 --- a/src/main/scala/gitbucket/core/service/RepositoryCommitFileService.scala +++ b/src/main/scala/gitbucket/core/service/RepositoryCommitFileService.scala @@ -116,11 +116,6 @@ } } - def readmeFiles: Seq[String] = - PluginRegistry().renderableExtensions.map { extension => - s"readme.${extension}" - } ++ Seq("readme.txt", "readme") - private def _commitFile( repository: RepositoryService.RepositoryInfo, branch: String, diff --git a/src/main/scala/gitbucket/core/service/RepositoryService.scala b/src/main/scala/gitbucket/core/service/RepositoryService.scala index dcf9f11..831820e 100644 --- a/src/main/scala/gitbucket/core/service/RepositoryService.scala +++ b/src/main/scala/gitbucket/core/service/RepositoryService.scala @@ -839,4 +839,9 @@ } else None def openRepoUrl(openUrl: String)(implicit context: Context): String = s"github-${context.platform}://openRepo/${openUrl}" + + def readmeFiles: Seq[String] = + PluginRegistry().renderableExtensions.map { extension => + s"readme.${extension}" + } ++ Seq("readme.txt", "readme") }