diff --git a/src/main/scala/gitbucket/core/controller/IssuesController.scala b/src/main/scala/gitbucket/core/controller/IssuesController.scala index 514564a..2c2fa68 100644 --- a/src/main/scala/gitbucket/core/controller/IssuesController.scala +++ b/src/main/scala/gitbucket/core/controller/IssuesController.scala @@ -257,6 +257,7 @@ "content" -> Markdown.toHtml( markdown = x.content getOrElse "No description given.", repository = repository, + branch = repository.repository.defaultBranch, enableWikiLink = false, enableRefsLink = true, enableAnchor = true, @@ -284,6 +285,7 @@ "content" -> view.Markdown.toHtml( markdown = x.content, repository = repository, + branch = repository.repository.defaultBranch, enableWikiLink = false, enableRefsLink = true, enableAnchor = true, diff --git a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala index 49cecce..d4a27a0 100644 --- a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala @@ -174,7 +174,7 @@ helpers.renderMarkup( filePath = List(f), fileContent = params("content"), - branch = "master", + branch = repository.repository.defaultBranch, repository = repository, enableWikiLink = params("enableWikiLink").toBoolean, enableRefsLink = params("enableRefsLink").toBoolean, @@ -184,6 +184,7 @@ helpers.markdown( markdown = params("content"), repository = repository, + branch = repository.repository.defaultBranch, enableWikiLink = params("enableWikiLink").toBoolean, enableRefsLink = params("enableRefsLink").toBoolean, enableLineBreaks = params("enableLineBreaks").toBoolean, @@ -679,6 +680,7 @@ "content" -> view.Markdown.toHtml( markdown = x.content, repository = repository, + branch = repository.repository.defaultBranch, enableWikiLink = false, enableRefsLink = true, enableAnchor = true, diff --git a/src/main/scala/gitbucket/core/plugin/Renderer.scala b/src/main/scala/gitbucket/core/plugin/Renderer.scala index 6c4037b..5a78705 100644 --- a/src/main/scala/gitbucket/core/plugin/Renderer.scala +++ b/src/main/scala/gitbucket/core/plugin/Renderer.scala @@ -25,6 +25,7 @@ Markdown.toHtml( markdown = fileContent, repository = repository, + branch = branch, enableWikiLink = enableWikiLink, enableRefsLink = enableRefsLink, enableAnchor = enableAnchor, diff --git a/src/main/scala/gitbucket/core/view/Markdown.scala b/src/main/scala/gitbucket/core/view/Markdown.scala index 4eac137..723208c 100644 --- a/src/main/scala/gitbucket/core/view/Markdown.scala +++ b/src/main/scala/gitbucket/core/view/Markdown.scala @@ -16,6 +16,7 @@ * Converts Markdown of Wiki pages to HTML. * * @param repository the repository which contains the markdown + * @param branch the target branch * @param enableWikiLink if true then wiki style link is available in markdown * @param enableRefsLink if true then issue reference (e.g. #123) is rendered as link * @param enableAnchor if true then anchor for headline is generated @@ -27,6 +28,7 @@ def toHtml( markdown: String, repository: RepositoryService.RepositoryInfo, + branch: String, enableWikiLink: Boolean, enableRefsLink: Boolean, enableAnchor: Boolean, @@ -45,6 +47,7 @@ val renderer = new GitBucketMarkedRenderer( options, repository, + branch, enableWikiLink, enableRefsLink, enableAnchor, @@ -62,6 +65,7 @@ class GitBucketMarkedRenderer( options: Options, repository: RepositoryService.RepositoryInfo, + branch: String, enableWikiLink: Boolean, enableRefsLink: Boolean, enableAnchor: Boolean, @@ -131,11 +135,11 @@ } override def link(href: String, title: String, text: String): String = { - super.link(fixUrl(href, false), title, text) + super.link(fixUrl(href, branch, false), title, text) } override def image(href: String, title: String, text: String): String = { - super.image(fixUrl(href, true), title, text) + super.image(fixUrl(href, branch, true), title, text) } override def nolink(text: String): String = { @@ -162,7 +166,7 @@ } } - private def fixUrl(url: String, isImage: Boolean = false): String = { + private def fixUrl(url: String, branch: String, isImage: Boolean = false): String = { lazy val urlWithRawParam: String = url + (if (isImage && !url.endsWith("?raw=true")) "?raw=true" else "") if (url.startsWith("http://") || url.startsWith("https://") || url.startsWith("mailto:") || url.startsWith("/")) { @@ -172,13 +176,13 @@ } else if (!enableWikiLink) { if (context.currentPath.contains("/blob/")) { urlWithRawParam - } else if (context.currentPath.contains("/tree/")) { - val paths = context.currentPath.split("/") - val branch = if (paths.length > 3) paths.drop(4).mkString("/") else repository.repository.defaultBranch - repository.httpUrl.replaceFirst("/git/", "/").stripSuffix(".git") + "/blob/" + branch + "/" + urlWithRawParam +// } else if (context.currentPath.contains("/tree/")) { +// val paths = context.currentPath.split("/") +// //val branch = if (paths.length > 3) paths.drop(4).mkString("/") else branch +// repository.httpUrl.replaceFirst("/git/", "/").stripSuffix(".git") + "/blob/" + branch + "/" + urlWithRawParam } else { - val paths = context.currentPath.split("/") - val branch = if (paths.length > 3) paths.last else repository.repository.defaultBranch +// val paths = context.currentPath.split("/") + //val branch = if (paths.length > 3) paths.last else branch repository.httpUrl.replaceFirst("/git/", "/").stripSuffix(".git") + "/blob/" + branch + "/" + urlWithRawParam } } else { diff --git a/src/main/scala/gitbucket/core/view/helpers.scala b/src/main/scala/gitbucket/core/view/helpers.scala index ab7d5bd..5fa80ed 100644 --- a/src/main/scala/gitbucket/core/view/helpers.scala +++ b/src/main/scala/gitbucket/core/view/helpers.scala @@ -102,6 +102,7 @@ def markdown( markdown: String, repository: RepositoryService.RepositoryInfo, + branch: String, enableWikiLink: Boolean, enableRefsLink: Boolean, enableLineBreaks: Boolean, @@ -114,6 +115,7 @@ Markdown.toHtml( markdown = markdown, repository = repository, + branch = branch, enableWikiLink = enableWikiLink, enableRefsLink = enableRefsLink, enableAnchor = enableAnchor, diff --git a/src/main/twirl/gitbucket/core/helper/commitcomment.scala.html b/src/main/twirl/gitbucket/core/helper/commitcomment.scala.html index 63f099b..0a45e8e 100644 --- a/src/main/twirl/gitbucket/core/helper/commitcomment.scala.html +++ b/src/main/twirl/gitbucket/core/helper/commitcomment.scala.html @@ -22,12 +22,13 @@