mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-07 22:15:51 +01:00
(refs #506)Fix generated URL for images
This commit is contained in:
@@ -88,9 +88,10 @@ class GitBucketHtmlSerializer(
|
|||||||
Map[String, VerbatimSerializer](VerbatimSerializer.DEFAULT -> new GitBucketVerbatimSerializer).asJava
|
Map[String, VerbatimSerializer](VerbatimSerializer.DEFAULT -> new GitBucketVerbatimSerializer).asJava
|
||||||
) with LinkConverter with RequestCache {
|
) with LinkConverter with RequestCache {
|
||||||
|
|
||||||
override protected def printImageTag(imageNode: SuperNode, url: String): Unit =
|
override protected def printImageTag(imageNode: SuperNode, url: String): Unit = {
|
||||||
printer.print("<a target=\"_blank\" href=\"").print(fixUrl(url)).print("\">")
|
printer.print("<a target=\"_blank\" href=\"").print(fixUrl(url, true)).print("\">")
|
||||||
.print("<img src=\"").print(fixUrl(url)).print("\" alt=\"").printEncoded(printChildrenToString(imageNode)).print("\"/></a>")
|
.print("<img src=\"").print(fixUrl(url, true)).print("\" alt=\"").printEncoded(printChildrenToString(imageNode)).print("\"/></a>")
|
||||||
|
}
|
||||||
|
|
||||||
override protected def printLink(rendering: LinkRenderer.Rendering): Unit = {
|
override protected def printLink(rendering: LinkRenderer.Rendering): Unit = {
|
||||||
printer.print('<').print('a')
|
printer.print('<').print('a')
|
||||||
@@ -101,15 +102,20 @@ class GitBucketHtmlSerializer(
|
|||||||
printer.print('>').print(rendering.text).print("</a>")
|
printer.print('>').print(rendering.text).print("</a>")
|
||||||
}
|
}
|
||||||
|
|
||||||
private def fixUrl(url: String): String = {
|
private def fixUrl(url: String, isImage: Boolean = false): String = {
|
||||||
if(!enableWikiLink){
|
if(!enableWikiLink){
|
||||||
if(url.startsWith("http://") || url.startsWith("https://") || url.startsWith("#") || url.startsWith("/") ||
|
if(url.startsWith("http://") || url.startsWith("https://") || url.startsWith("#") || url.startsWith("/")){
|
||||||
context.currentPath.contains("/blob/")){
|
|
||||||
url
|
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 {
|
} else {
|
||||||
val paths = context.currentPath.split("/")
|
val paths = context.currentPath.split("/")
|
||||||
val branch = if(paths.length > 3) paths.last else repository.repository.defaultBranch
|
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 {
|
} else {
|
||||||
repository.httpUrl.replaceFirst("/git/", "/").stripSuffix(".git") + "/wiki/_blob/" + url
|
repository.httpUrl.replaceFirst("/git/", "/").stripSuffix(".git") + "/wiki/_blob/" + url
|
||||||
|
|||||||
Reference in New Issue
Block a user