public MarkdownWebServerPlugin() { this.processor = new PegDownProcessor(); }
@Override public void visit(TableCaptionNode node) { printer.println().print("<caption>"); visitChildren(node); printer.print("</caption>"); }
protected String printChildrenToString(SuperNode node) { Printer priorPrinter = printer; printer = new Printer(); visitChildren(node); String result = printer.getString(); printer = priorPrinter; return result; }
/** * Converts the given markdown source to HTML. * If the input cannot be parsed within the configured parsing timeout the method returns null. * * @param markdownSource the markdown source to convert * @return the HTML */ public String markdownToHtml(char[] markdownSource) { return markdownToHtml(markdownSource, new LinkRenderer()); }
/** * Convert markdown to HTML * @param src markdown content * @return html content */ public String markdownToHtml(String src) { return pegDownProcessor.markdownToHtml(src); }
public Rule AtxHeading() { return Sequence( AtxStart(), //Optional(Sp()), // this should be just Sp() because it is already ZeroOrMore which means it is optional // ISSUE: #144, Add GFM style headers, space after # is required (ext(ATXHEADERSPACE) ? Spacechar() : EMPTY), Sp(), OneOrMore(AtxInline(), addAsChild()), wrapInAnchor(), Optional(Sp(), ZeroOrMore('#'), Sp()), Newline() ); }
protected void printLink(LinkRenderer.Rendering rendering) { printer.print('<').print('a'); printAttribute("href", rendering.href); for (LinkRenderer.Attribute attr : rendering.attributes) { printAttribute(attr.name, attr.value); } printer.print('>').print(rendering.text).print("</a>"); }
public void visit(ExpImageNode node) { String text = printChildrenToString(node); printImageTag(linkRenderer.render(node, text)); }
public void visit(ExpLinkNode node) { String text = printChildrenToString(node); printLink(linkRenderer.render(node, text)); }
protected void printBreakBeforeTag(SuperNode node, String tag) { boolean startWasNewLine = printer.endsWithNewLine(); printer.println(); printTag(node, tag); if (startWasNewLine) printer.println(); }
/** * Parses the given markdown source and returns the root node of the generated Abstract Syntax Tree. * If the input cannot be parsed within the configured parsing timeout the method throws a ParsingTimeoutException. * * @param markdownSource the markdown source to convert * @return the AST root */ public RootNode parseMarkdown(char[] markdownSource) { return parser.parse(prepareSource(markdownSource)); }
public Rule Quoted() { return FirstOf( Sequence('"', ZeroOrMore(TestNot('"'), ANY), '"'), Sequence('\'', ZeroOrMore(TestNot('\''), ANY), '\'') ); }
public Rule Reference() { return Sequence( ReferenceNoEOL(), Newline() ); }
public Rule Definition() { SuperNodeCreator itemNodeCreator = new SuperNodeCreator() { public SuperNode create(Node child) { return new DefinitionNode(child); } }; return ListItem(DefListBullet(), itemNodeCreator); }
public void visit(TableHeaderNode node) { inTableHeader = true; printIndentedTag(node, "thead"); inTableHeader = false; }