diff --git a/src/main/scala/view/Markdown.scala b/src/main/scala/view/Markdown.scala index 87719b4..836e5c9 100644 --- a/src/main/scala/view/Markdown.scala +++ b/src/main/scala/view/Markdown.scala @@ -195,6 +195,32 @@ 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 {