From 6ad724d80cb7a0a08e8c4636cb57720089626607 Mon Sep 17 00:00:00 2001 From: Viliam Dias Date: Mon, 16 Nov 2015 14:25:22 -0200 Subject: [PATCH] A service to get the wiki sidebar page - getWikiSideBar: a new service to get the wiki sidebar file "_Sidebar.md". - getFileContent: must ignore MD files which starts with "_". --- .../gitbucket/core/service/WikiService.scala | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/scala/gitbucket/core/service/WikiService.scala b/src/main/scala/gitbucket/core/service/WikiService.scala index 4a8d1eb13..b6a0c463e 100644 --- a/src/main/scala/gitbucket/core/service/WikiService.scala +++ b/src/main/scala/gitbucket/core/service/WikiService.scala @@ -71,6 +71,20 @@ trait WikiService { } } + /** + * Returns the wiki sidebar page. + */ + def getWikiSideBar(owner: String, repository: String): Option[WikiPageInfo] = { + using(Git.open(Directory.getWikiRepositoryDir(owner, repository))){ git => + if(!JGitUtil.isEmpty(git)){ + JGitUtil.getFileList(git, "master", ".").find(_.name == "_Sidebar.md").map { file => + WikiPageInfo(file.name, StringUtil.convertFromByteArray(git.getRepository.open(file.id).getBytes), + file.author, file.time, file.commitId) + } + } else None + } + } + /** * Returns the content of the specified file. */ @@ -93,7 +107,7 @@ trait WikiService { def getWikiPageList(owner: String, repository: String): List[String] = { using(Git.open(Directory.getWikiRepositoryDir(owner, repository))){ git => JGitUtil.getFileList(git, "master", ".") - .filter(_.name.endsWith(".md")) + .filter(_.name.endsWith(".md")).filterNot(_.name.startsWith("_")) .map(_.name.stripSuffix(".md")) .sortBy(x => x) }