diff --git a/src/main/scala/view/Markdown.scala b/src/main/scala/view/Markdown.scala index cdd1348..500781a 100644 --- a/src/main/scala/view/Markdown.scala +++ b/src/main/scala/view/Markdown.scala @@ -88,9 +88,10 @@ Map[String, VerbatimSerializer](VerbatimSerializer.DEFAULT -> new GitBucketVerbatimSerializer).asJava ) with LinkConverter with RequestCache { - override protected def printImageTag(imageNode: SuperNode, url: String): Unit = - printer.print("") - .print("\"").printEncoded(printChildrenToString(imageNode)).print("\"/") + override protected def printImageTag(imageNode: SuperNode, url: String): Unit = { + printer.print("") + .print("\"").printEncoded(printChildrenToString(imageNode)).print("\"/") + } override protected def printLink(rendering: LinkRenderer.Rendering): Unit = { printer.print('<').print('a') @@ -101,15 +102,20 @@ printer.print('>').print(rendering.text).print("") } - private def fixUrl(url: String): String = { + private def fixUrl(url: String, isImage: Boolean = false): String = { if(!enableWikiLink){ - if(url.startsWith("http://") || url.startsWith("https://") || url.startsWith("#") || url.startsWith("/") || - context.currentPath.contains("/blob/")){ + if(url.startsWith("http://") || url.startsWith("https://") || url.startsWith("#") || url.startsWith("/")){ url + } else if(context.currentPath.contains("/blob/")){ + url + (if(isImage) "?raw=true" else "") + } 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 + "/" + url + (if(isImage) "?raw=true" else "") } else { val paths = context.currentPath.split("/") val branch = if(paths.length > 3) paths.last else repository.repository.defaultBranch - repository.httpUrl.replaceFirst("/git/", "/").stripSuffix(".git") + "/blob/" + branch + "/" + url + repository.httpUrl.replaceFirst("/git/", "/").stripSuffix(".git") + "/blob/" + branch + "/" + url + (if(isImage) "?raw=true" else "") } } else { repository.httpUrl.replaceFirst("/git/", "/").stripSuffix(".git") + "/wiki/_blob/" + url