From bd046da3d07e5ec008d0445d3398acb09ba16f75 Mon Sep 17 00:00:00 2001 From: Shintaro Murakami Date: Wed, 28 Jan 2015 00:09:34 +0900 Subject: [PATCH] (refs #532) Fix rendering of link over image --- src/main/scala/view/Markdown.scala | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/main/scala/view/Markdown.scala b/src/main/scala/view/Markdown.scala index 87719b4d6..836e5c91f 100644 --- a/src/main/scala/view/Markdown.scala +++ b/src/main/scala/view/Markdown.scala @@ -195,6 +195,32 @@ class GitBucketHtmlSerializer( printTag(node, "li") } } + + override def visit(node: ExpLinkNode) { + printLink(linkRenderer.render(node, printLinkChildrenToString(node))) + } + + def printLinkChildrenToString(node: SuperNode) = { + val priorPrinter = printer + printer = new Printer() + visitLinkChildren(node) + val result = printer.getString() + printer = priorPrinter + result + } + + def visitLinkChildren(node: SuperNode) { + import scala.collection.JavaConversions._ + node.getChildren.foreach(child => child match { + case node: ExpImageNode => visitLinkChild(node) + case node: SuperNode => visitLinkChildren(node) + case _ => child.accept(this) + }) + } + + def visitLinkChild(node: ExpImageNode) { + printer.print("\"").printEncoded(printChildrenToString(node)).print("\"/") + } } object GitBucketHtmlSerializer {