@Signature public PMarkdownOptions setRenderSuppressHtml(boolean value) { options.set(HtmlRenderer.SUPPRESS_HTML, value); return this; }
options.set(PEGDOWN_EXTENSIONS, myPegdownExtensions); options.set(HtmlRenderer.SUPPRESS_HTML_BLOCKS, haveExtensions(SUPPRESS_HTML_BLOCKS)); options.set(HtmlRenderer.SUPPRESS_INLINE_HTML, haveExtensions(SUPPRESS_INLINE_HTML)); options.set(AbbreviationExtension.ABBREVIATIONS_KEEP, KeepType.LAST); options.set(HtmlRenderer.RENDER_HEADER_ID, false); extensions.add(AnchorLinkExtension.create()); if (haveExtensions(EXTANCHORLINKS)) { options.set(AnchorLinkExtension.ANCHORLINKS_WRAP_TEXT, false); } else if (haveExtensions(ANCHORLINKS)) { options.set(AnchorLinkExtension.ANCHORLINKS_WRAP_TEXT, true); options.set(Parser.FENCED_CODE_BLOCK_PARSER, false); } else { options.set(Parser.MATCH_CLOSING_FENCE_CHARACTERS, false); options.set(Parser.LISTS_LOOSE_WHEN_HAS_NON_LIST_CHILDREN, true); } else { options.set(HtmlRenderer.SOFT_BREAK, "<br />\n"); options.set(HtmlRenderer.HARD_BREAK, "<br />\n"); options.set(Parser.HEADING_NO_ATX_SPACE, true); options.set(TypographicExtension.ENABLE_SMARTS, haveExtensions(SMARTS)); options.set(TypographicExtension.ENABLE_QUOTES, haveExtensions(QUOTES));
@Signature public PMarkdownOptions setRenderHardBreak(String value) { options.set(HtmlRenderer.HARD_BREAK, hardBreak); return this; }
@Signature public PMarkdownOptions setRenderEscapeHtml(boolean value) { options.set(HtmlRenderer.ESCAPE_HTML, value); return this; }
@Signature public PMarkdownOptions setRenderSoftBreak(String value) { options.set(HtmlRenderer.SOFT_BREAK, softBreak); return this; }
@Signature public PMarkdownOptions setRenderIndentSize(int value) { options.set(HtmlRenderer.INDENT_SIZE, value); return this; }
@Signature public PMarkdownOptions addSuperscriptExtension(@Arg(type = HintType.ARRAY) @Optional("null") Memory options) { parserExtensions.add(SuperscriptExtension.create()); Memory htmlOpen = options.valueOfIndex("htmlOpen"); if (htmlOpen.isNotNull()) { this.options.set(SuperscriptExtension.SUPERSCRIPT_STYLE_HTML_OPEN, htmlOpen.toString()); } Memory htmlClose = options.valueOfIndex("htmlClose"); if (htmlOpen.isNotNull()) { this.options.set(SuperscriptExtension.SUPERSCRIPT_STYLE_HTML_CLOSE, htmlClose.toString()); } return this; }
@Signature public PMarkdownOptions addSubscriptExtension(@Arg(type = HintType.ARRAY) @Optional("null") Memory options) { parserExtensions.add(SubscriptExtension.create()); Memory htmlOpen = options.valueOfIndex("htmlOpen"); if (htmlOpen.isNotNull()) { this.options.set(SubscriptExtension.SUBSCRIPT_STYLE_HTML_OPEN, htmlOpen.toString()); } Memory htmlClose = options.valueOfIndex("htmlClose"); if (htmlOpen.isNotNull()) { this.options.set(SubscriptExtension.SUBSCRIPT_STYLE_HTML_CLOSE, htmlClose.toString()); } return this; }
@Signature public PMarkdownOptions addEmojiExtension(@Arg(type = HintType.ARRAY) @Optional("null") Memory options) { parserExtensions.add(EmojiExtension.create()); Memory imageType = options.valueOfIndex("imageType"); if (!imageType.isNull()) { this.options.set(EmojiExtension.USE_IMAGE_TYPE, EmojiImageType.valueOf(imageType.toString())); } Memory shortcutType = options.valueOfIndex("shortcutType"); if (!shortcutType.isNull()) { this.options.set(EmojiExtension.USE_SHORTCUT_TYPE, EmojiShortcutType.valueOf(shortcutType.toString())); } Memory imagePath = options.valueOfIndex("imagePath"); if (!shortcutType.isNull()) { this.options.set(EmojiExtension.ROOT_IMAGE_PATH, imagePath.toString()); } Memory imageClass = options.valueOfIndex("imageClass"); if (!shortcutType.isNull()) { this.options.set(EmojiExtension.ATTR_IMAGE_CLASS, imageClass.toString()); } Memory imageSize = options.valueOfIndex("imageSize"); if (!shortcutType.isNull()) { this.options.set(EmojiExtension.ATTR_IMAGE_SIZE, imageSize.toString()); } return this; }
this.options.set(WikiLinkExtension.LINK_PREFIX, linkPrefix.toString()); this.options.set(WikiLinkExtension.LINK_PREFIX_ABSOLUTE, linkPrefixAbsolute.toString()); this.options.set(WikiLinkExtension.IMAGE_PREFIX, imagePrefix.toString()); this.options.set(WikiLinkExtension.IMAGE_PREFIX_ABSOLUTE, imagePrefixAbsolute.toString()); this.options.set(WikiLinkExtension.IMAGE_FILE_EXTENSION, imageFileExtension.toString()); this.options.set(WikiLinkExtension.IMAGE_LINKS, imageLinks.toBoolean()); this.options.set(WikiLinkExtension.DISABLE_RENDERING, disableRendering.toBoolean()); this.options.set(WikiLinkExtension.ALLOW_ANCHORS, allowAnchors.toBoolean()); this.options.set(WikiLinkExtension.ALLOW_INLINES, allowInlines.toBoolean());
@Override public String renderToHtml(String content) { MutableDataSet options = new MutableDataSet(); options.set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create(), AutolinkExtension.create(), StrikethroughExtension.create())); // uncomment to convert soft-breaks to hard breaks //options.set(HtmlRenderer.SOFT_BREAK, "<br />\n"); Parser parser = Parser.builder(options).build(); HtmlRenderer renderer = HtmlRenderer.builder(options).build(); // You can re-use parser and renderer instances Node document = parser.parse(content); return renderer.render(document); } }
@Override public <T> MutableDataHolder set(DataKey<T> key, T value) { return dataSet.set(key, value);}
@Override public MutableDataSet setAll(DataHolder other) { for (DataKey key : other.keySet()) { set(key, other.get(key)); } return this; }
MutableDataSet options = new MutableDataSet(); Parser parser = Parser.builder(options).build(); options.set(HtmlRenderer.SOFT_BREAK, "<br>\n"); HtmlRenderer renderer = HtmlRenderer.builder(options).build(); Node document = parser.parse(aText);
private static MutableDataHolder getMarkdownOptions() { return new MutableDataSet() .set(HtmlRenderer.ESCAPE_HTML, true) .set(EmojiExtension.USE_SHORTCUT_TYPE, EmojiShortcutType.ANY_GITHUB_PREFERRED) // for full GFM table compatibility add the following table extension options: .set(TablesExtension.COLUMN_SPANS, false) .set(TablesExtension.APPEND_MISSING_COLUMNS, true) .set(TablesExtension.DISCARD_EXTRA_COLUMNS, true) .set(TablesExtension.HEADER_SEPARATOR_COLUMN_MATCH, true) .set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create(), EmojiExtension.create(), StrikethroughExtension.create(), TaskListExtension.create())); }
@Override public MutableDataSet setAll(DataHolder other) { for (DataKey key : other.keySet()) { set(key, other.get(key)); } return this; }
private static String markdown(String md) { MutableDataSet options = new MutableDataSet(); options.set(Parser.EXTENSIONS, Arrays.asList( TocExtension.create(), AnchorLinkExtension.create() )); options.set(AnchorLinkExtension.ANCHORLINKS_WRAP_TEXT, false); Parser parser = Parser.builder(options).build(); HtmlRenderer renderer = HtmlRenderer.builder(options).build(); Node document = parser.parse(md); return renderer.render(document); }