protected void printConditionallyIndentedTag(SuperNode node, String tag) { if (node.getChildren().size() > 1) { printer.println().print('<').print(tag).print('>').indent(+2); visitChildren(node); printer.indent(-2).println().print('<').print('/').print(tag).print('>'); } else { boolean startWasNewLine = printer.endsWithNewLine(); printer.println().print('<').print(tag).print('>'); visitChildren(node); printer.print('<').print('/').print(tag).print('>').printchkln(startWasNewLine); } }
public void visit(HtmlBlockNode node) { String text = node.getText(); if (text.length() > 0) printer.println(); printer.print(text); }
public void visit(TableCellNode node) { String tag = inTableHeader ? "th" : "td"; List<TableColumnNode> columns = currentTableNode.getColumns(); TableColumnNode column = columns.get(Math.min(currentTableColumn, columns.size() - 1)); printer.println().print('<').print(tag); column.accept(this); if (node.getColSpan() > 1) printer.print(" colspan=\"").print(Integer.toString(node.getColSpan())).print('"'); printer.print('>'); visitChildren(node); printer.print('<').print('/').print(tag).print('>'); currentTableColumn += node.getColSpan(); }
public void visit(RefImageNode node) { String text = printChildrenToString(node); String key = node.referenceKey != null ? printChildrenToString(node.referenceKey) : text; ReferenceNode refNode = references.get(normalize(key)); if (refNode == null) { // "fake" reference image link printer.print("![").print(text).print(']'); if (node.separatorSpace != null) { printer.print(node.separatorSpace).print('['); if (node.referenceKey != null) printer.print(key); printer.print(']'); } } else printImageTag(linkRenderer.render(node, refNode.getUrl(), refNode.getTitle(), text)); }
public void visit(RefLinkNode node) { String text = printChildrenToString(node); String key = node.referenceKey != null ? printChildrenToString(node.referenceKey) : text; ReferenceNode refNode = references.get(normalize(key)); if (refNode == null) { // "fake" reference link printer.print('[').print(text).print(']'); if (node.separatorSpace != null) { printer.print(node.separatorSpace).print('['); if (node.referenceKey != null) printer.print(key); printer.print(']'); } } else printLink(linkRenderer.render(node, refNode.getUrl(), refNode.getTitle(), text)); }
public void visit(InlineHtmlNode node) { printer.print(node.getText()); }
protected void printImageTag(LinkRenderer.Rendering rendering) { printer.print("<img"); printAttribute("src", rendering.href); // shouldn't include the alt attribute if its empty if(!rendering.text.equals("")){ printAttribute("alt", rendering.text); } for (LinkRenderer.Attribute attr : rendering.attributes) { printAttribute(attr.name, attr.value); } printer.print(" />"); }
@Override public void serialize(final VerbatimNode node, final Printer printer) { printer.print(syntaxHighlightService.highlight(node.getText())); }
public void visit(TextNode node) { if (abbreviations.isEmpty()) { printer.print(node.getText()); } else { printWithAbbreviations(node.getText()); } }
public void visit(StrongEmphSuperNode node) { if (node.isClosed()) { if (node.isStrong()) printTag(node, "strong"); else printTag(node, "em"); } else { //sequence was not closed, treat open chars as ordinary chars printer.print(node.getChars()); visitChildren(node); } }