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 @@
@helpers.markdown( - markdown = comment.content, - repository = repository, - enableWikiLink = false, - enableRefsLink = true, - enableLineBreaks = true, - enableTaskList = true, + markdown = comment.content, + repository = repository, + branch = repository.repository.defaultBranch, + enableWikiLink = false, + enableRefsLink = true, + enableLineBreaks = true, + enableTaskList = true, hasWritePermission = hasWritePermission )
diff --git a/src/main/twirl/gitbucket/core/issues/commentlist.scala.html b/src/main/twirl/gitbucket/core/issues/commentlist.scala.html index 8f7f911..b28b98d 100644 --- a/src/main/twirl/gitbucket/core/issues/commentlist.scala.html +++ b/src/main/twirl/gitbucket/core/issues/commentlist.scala.html @@ -32,12 +32,13 @@
@helpers.markdown( - markdown = comment.content, - repository = repository, - enableWikiLink = false, - enableRefsLink = true, - enableLineBreaks = true, - enableTaskList = true, + markdown = comment.content, + repository = repository, + branch = repository.repository.defaultBranch, + enableWikiLink = false, + enableRefsLink = true, + enableLineBreaks = true, + enableTaskList = true, hasWritePermission = isManageable )
@@ -57,12 +58,13 @@
@helpers.markdown( - markdown = issue.get.content getOrElse "No description provided.", - repository = repository, - enableWikiLink = false, - enableRefsLink = true, - enableLineBreaks = true, - enableTaskList = true, + markdown = issue.get.content getOrElse "No description provided.", + repository = repository, + branch = repository.repository.defaultBranch, + enableWikiLink = false, + enableRefsLink = true, + enableLineBreaks = true, + enableTaskList = true, hasWritePermission = isManageable )
@@ -268,12 +270,13 @@
@helpers.markdown( - markdown = comment.content, - repository = repository, - enableWikiLink = false, - enableRefsLink = true, - enableLineBreaks = true, - enableTaskList = true, + markdown = comment.content, + repository = repository, + branch = repository.repository.defaultBranch, + enableWikiLink = false, + enableRefsLink = true, + enableLineBreaks = true, + enableTaskList = true, hasWritePermission = isManageable )
diff --git a/src/main/twirl/gitbucket/core/issues/milestones/list.scala.html b/src/main/twirl/gitbucket/core/issues/milestones/list.scala.html index 7f41eb6..80e0ba6 100644 --- a/src/main/twirl/gitbucket/core/issues/milestones/list.scala.html +++ b/src/main/twirl/gitbucket/core/issues/milestones/list.scala.html @@ -76,13 +76,14 @@ - @if(milestone.description.isDefined){ + @milestone.description.map { description =>
@helpers.markdown( - markdown = milestone.description.get, - repository = repository, - enableWikiLink = false, - enableRefsLink = false, + markdown = description, + repository = repository, + branch = repository.repository.defaultBranch, + enableWikiLink = false, + enableRefsLink = false, enableLineBreaks = true )
diff --git a/src/main/twirl/gitbucket/core/pulls/mergeguide.scala.html b/src/main/twirl/gitbucket/core/pulls/mergeguide.scala.html index a7e8685..df71c3f 100644 --- a/src/main/twirl/gitbucket/core/pulls/mergeguide.scala.html +++ b/src/main/twirl/gitbucket/core/pulls/mergeguide.scala.html @@ -43,7 +43,14 @@

- @status.conflictMessage.map { message => @helpers.markdown(message, originRepository, false, true, false) } + @status.conflictMessage.map { message => @helpers.markdown( + markdown = message, + repository = originRepository, + branch = originRepository.repository.defaultBranch, + enableWikiLink = false, + enableRefsLink = true, + enableLineBreaks = false + ) }
} else { @if(status.branchIsOutOfDate){ diff --git a/src/main/twirl/gitbucket/core/releases/list.scala.html b/src/main/twirl/gitbucket/core/releases/list.scala.html index 135a354..814db32 100644 --- a/src/main/twirl/gitbucket/core/releases/list.scala.html +++ b/src/main/twirl/gitbucket/core/releases/list.scala.html @@ -27,6 +27,7 @@ @helpers.markdown( markdown = release.content getOrElse "No description provided.", repository = repository, + branch = repository.repository.defaultBranch, enableWikiLink = false, enableRefsLink = true, enableLineBreaks = true, diff --git a/src/main/twirl/gitbucket/core/releases/release.scala.html b/src/main/twirl/gitbucket/core/releases/release.scala.html index db1cbfa..14b6376 100644 --- a/src/main/twirl/gitbucket/core/releases/release.scala.html +++ b/src/main/twirl/gitbucket/core/releases/release.scala.html @@ -34,6 +34,7 @@ @helpers.markdown( markdown = release.content getOrElse "No description provided.", repository = repository, + branch = repository.repository.defaultBranch, enableWikiLink = false, enableRefsLink = true, enableLineBreaks = true, diff --git a/src/main/twirl/gitbucket/core/wiki/page.scala.html b/src/main/twirl/gitbucket/core/wiki/page.scala.html index 90fc9d1..c68d68c 100644 --- a/src/main/twirl/gitbucket/core/wiki/page.scala.html +++ b/src/main/twirl/gitbucket/core/wiki/page.scala.html @@ -59,7 +59,7 @@ @if(isEditable){ } - @helpers.markdown(sidebarPage.content, repository, true, false, false, false, pages) + @helpers.markdown(sidebarPage.content, repository, "master", true, false, false, false, pages) }.getOrElse{ @if(isEditable){ @@ -85,6 +85,7 @@ @helpers.markdown( markdown = page.content, repository = repository, + branch = "master", enableWikiLink = true, enableRefsLink = false, enableLineBreaks = false, @@ -98,7 +99,16 @@ @if(isEditable){ } - @helpers.markdown(footerPage.content, repository, true, false, false, false, pages) + @helpers.markdown( + markdown = footerPage.content, + repository = repository, + branch = "master", + enableWikiLink = true, + enableRefsLink = false, + enableLineBreaks = false, + enableAnchor = false, + pages = pages + ) }.getOrElse{ @if(isEditable){