@Override public void serialize(final VerbatimNode node, final Printer printer) { printer.println().print("<pre><code"); if (!StringUtils.isEmpty(node.getType())) { printAttribute(printer, "class", node.getType()); } printer.print(">"); String text = node.getText(); // print HTML breaks for all initial newlines while (text.charAt(0) == '\n') { printer.print("<br/>"); text = text.substring(1); } printer.printEncoded(text); printer.print("</code></pre>"); }
/** * Overrides the default implementation to set the language to "no-highlight" no * language is specified. If highlighting is disabled or auto-highlighting is enabled, * this method just calls the default implementation. * * @param node The AST node. */ @Override public void visit(VerbatimNode node) { if ( options.isHighlightEnabled() && !options.isAutoHighlightEnabled() && node.getType().isEmpty() ) { VerbatimNode noHighlightNode = new VerbatimNode(node.getText(), "no-highlight"); noHighlightNode.setStartIndex(node.getStartIndex()); noHighlightNode.setEndIndex(node.getEndIndex()); super.visit(noHighlightNode); } else { super.visit(node); } } }
@Override public void serialize(final VerbatimNode node, final Printer printer) { printer.print(syntaxHighlightService.highlight(node.getText())); }
public void visit(VerbatimNode node) { VerbatimSerializer serializer = lookupSerializer(node.getType()); serializer.serialize(node, printer); }
public Rule FencedCodeBlock() { StringBuilderVar text = new StringBuilderVar(); Var<Integer> markerLength = new Var<Integer>(); return NodeSequence( CodeFence(markerLength), TestNot(CodeFence(markerLength)), // prevent empty matches ZeroOrMore(BlankLine(), text.append('\n')), OneOrMore(TestNot(Newline(), CodeFence(markerLength)), ANY, text.append(matchedChar())), Newline(), push(new VerbatimNode(text.appended('\n').getString(), popAsString())), CodeFence(markerLength), drop() ); }
private void dumpProcessor(int depth, Node node, Processor processor) { if (log.isDebugEnabled()) { String indent = indent(depth); StringBuilder out = new StringBuilder(); out.append(indent); if (processor == processorDefault) { out.append(" "); } else { out.append("*"); } out.append(node); if (node instanceof HeaderNode) { out.append(" L:").append(((HeaderNode) node).getLevel()); } if (node instanceof VerbatimNode) { out.append(" T:").append(((VerbatimNode) node).getType()); } if (node instanceof RefImageNode) { RefImageNode rn = (RefImageNode) node; out.append(" separatorSpace: '").append(rn.separatorSpace).append("' refKey: '").append(rn.referenceKey).append("'"); } log.debug(out.toString()); } }
public Rule Verbatim() { StringBuilderVar text = new StringBuilderVar(); StringBuilderVar line = new StringBuilderVar(); return NodeSequence( OneOrMore( ZeroOrMore(BlankLine(), line.append('\n')), Indent(), push(currentIndex()), OneOrMore( FirstOf( Sequence('\t', line.append(repeat(' ', 4-(currentIndex()-1-(Integer)peek())%4))), Sequence(NotNewline(), ANY, line.append(matchedChar())) ) ), Newline(), text.appended(line.getString()).append('\n') && line.clearContents() && drop() ), push(new VerbatimNode(text.getString())) ); }
@Override public void visit(VerbatimNode vn) { final String lines[] = vn.getText().split("\n"); if( lines.length == 1 ) { _buffer.append( "\n{noformat}") .append(vn.getText()) .append( "{noformat}\n\n"); return; } if( vn.getType()==null || vn.getType().isEmpty() ) { _buffer.append( "\n{noformat}\n") .append(vn.getText()) .append("\n{noformat}\n\n") ; return; } _buffer.append( format("\n{code:%s}\n", vn.getType()) ) .append(vn.getText()) .append("\n{code}\n\n") ; }
@Override public void visit(VerbatimNode vn) { final String lines[] = vn.getText().split("\n"); if( lines.length == 1 ) { _buffer.append( "\n{noformat}") .append(vn.getText()) .append( "{noformat}\n\n"); return; } if( vn.getType()==null || vn.getType().isEmpty() ) { _buffer.append( "\n{noformat}\n") .append(vn.getText()) .append("\n{noformat}\n\n") ; return; } _buffer.append( format("\n{code:%s}\n", vn.getType()) ) .append(vn.getText()) .append("\n{code}\n\n") ; }
@Override public void visit(VerbatimNode vn) { final String lines[] = vn.getText().split("\n"); if( lines.length == 1 ) { _buffer.append( "{noformat}") .append(replaceProperties(vn.getText())) .append( "{noformat}"); return; } if( vn.getType()==null || vn.getType().isEmpty() ) { _buffer.append( "{noformat}") .append('\n') .append(replaceProperties(vn.getText())) .append('\n') .append("{noformat}") .append('\n') ; return; } _buffer.append( format("{code:%s}", vn.getType()) ) .append('\n') .append(replaceProperties(vn.getText())) .append('\n') .append("{code}") .append('\n') ; }
@Override public void serialize(VerbatimNode node, Printer printer) { Type type = Type.getByName(node.getType()); String formatted = type.wrap(node.getText()); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); SourceStringReader reader = new SourceStringReader(formatted); String desc; try { desc = reader.generateImage(baos, type.getFormatOption()); } catch (IOException e) { throw new GeneratorException("Could not generate uml for node " + node, e); } final String rendered = type.render(baos.toByteArray(), desc); printer.print(rendered); }
@Override public void serialize(final VerbatimNode node, final Printer printer) { Type type = Type.valueOf(node.getType()); String formatted = type.wrap(node.getText()); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); SourceStringReader reader = new SourceStringReader(formatted); String desc; try { desc = reader.generateImage(baos, type.getFormatOption()); // if(desc != null) { // throw new RuntimeException("Could not generate uml for node " + node + ". " + desc); // } } catch (IOException e) { throw new RuntimeException("Could not generate uml for node " + node, e); } final String rendered = type.render(baos.toByteArray(), desc); printer.print(rendered); }
@Override public void serialize(VerbatimNode node, Printer printer) { Type type = Type.getByName(node.getType()); String formatted = type.wrap(node.getText()); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); SourceStringReader reader = new SourceStringReader(formatted); String desc; try { desc = reader.generateImage(baos, type.getFormatOption()); } catch (IOException e) { throw new GeneratorException("Could not generate uml for node " + node, e); } final String rendered = type.render(baos.toByteArray(), desc); printer.print(rendered); }
public void visit(VerbatimNode node) { printer.println(); String type = node.getType(); String text = node.getText(); if (autoDetectLanguageType) { type = linguist.detectLanguage(text); } if (!type.isEmpty()) { printer.print("[source," + type + "]"); } printer.println(); repeat('-', 4); printer.println(); printer.print(text); repeat('-', 4); printer.println().println(); }
public void visit(VerbatimNode node) { printer.println(); String type = node.getType(); String text = node.getText(); if (autoDetectLanguageType) { type = linguist.detectLanguage(text); } if (!type.isEmpty()) { printer.print("[source," + type + "]"); } printer.println(); repeat('-', 4); printer.println(); printer.print(text); repeat('-', 4); printer.println().println(); }