mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-15 09:55:49 +01:00
Small refactoring for README handling (#2556)
This commit is contained in:
@@ -938,10 +938,10 @@ trait RepositoryViewerControllerBase extends ControllerBase {
|
|||||||
context.settings.repositoryViewer.maxFiles
|
context.settings.repositoryViewer.maxFiles
|
||||||
)
|
)
|
||||||
val parentPath = if (path == ".") Nil else path.split("/").toList
|
val parentPath = if (path == ".") Nil else path.split("/").toList
|
||||||
// process README.md or README.markdown
|
// process README
|
||||||
val readme = files
|
val readme = files // files should be sorted alphabetically.
|
||||||
.find { file =>
|
.find { file =>
|
||||||
!file.isDirectory && readmeFiles.contains(file.name.toLowerCase)
|
!file.isDirectory && RepositoryService.readmeFiles.contains(file.name.toLowerCase)
|
||||||
}
|
}
|
||||||
.map { file =>
|
.map { file =>
|
||||||
val path = (file.name :: parentPath.reverse).reverse
|
val path = (file.name :: parentPath.reverse).reverse
|
||||||
|
|||||||
@@ -23,9 +23,12 @@ trait ApiRepositoryContentsControllerBase extends ControllerBase {
|
|||||||
Using.resource(Git.open(getRepositoryDir(params("owner"), params("repository")))) {
|
Using.resource(Git.open(getRepositoryDir(params("owner"), params("repository")))) {
|
||||||
git =>
|
git =>
|
||||||
val refStr = params.getOrElse("ref", repository.repository.defaultBranch)
|
val refStr = params.getOrElse("ref", repository.repository.defaultBranch)
|
||||||
val fileList = getFileList(git, refStr, ".", maxFiles = context.settings.repositoryViewer.maxFiles)
|
val files = getFileList(git, refStr, ".", maxFiles = context.settings.repositoryViewer.maxFiles)
|
||||||
fileList.map(f => f.name).find(p => readmeFiles.map(_.toLowerCase).contains(p.toLowerCase)) match {
|
files // files should be sorted alphabetically.
|
||||||
case Some(x) => getContents(repository = repository, path = x, refStr = refStr, ignoreCase = true)
|
.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()
|
case _ => NotFound()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,11 +116,6 @@ trait RepositoryCommitFileService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def readmeFiles: Seq[String] =
|
|
||||||
PluginRegistry().renderableExtensions.map { extension =>
|
|
||||||
s"readme.${extension}"
|
|
||||||
} ++ Seq("readme.txt", "readme")
|
|
||||||
|
|
||||||
private def _commitFile(
|
private def _commitFile(
|
||||||
repository: RepositoryService.RepositoryInfo,
|
repository: RepositoryService.RepositoryInfo,
|
||||||
branch: String,
|
branch: String,
|
||||||
|
|||||||
@@ -839,4 +839,9 @@ object RepositoryService {
|
|||||||
} else None
|
} else None
|
||||||
def openRepoUrl(openUrl: String)(implicit context: Context): String =
|
def openRepoUrl(openUrl: String)(implicit context: Context): String =
|
||||||
s"github-${context.platform}://openRepo/${openUrl}"
|
s"github-${context.platform}://openRepo/${openUrl}"
|
||||||
|
|
||||||
|
def readmeFiles: Seq[String] =
|
||||||
|
PluginRegistry().renderableExtensions.map { extension =>
|
||||||
|
s"readme.${extension}"
|
||||||
|
} ++ Seq("readme.txt", "readme")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user