@Override public MutableDataHolder setFrom(MutableDataSetter dataSetter) { return dataSet.setFrom(dataSetter); }
@Override public MutableDataHolder setFrom(MutableDataSetter dataSetter) { return dataSet.setFrom(dataSetter); }
options.setFrom(strictHtml ? ParserEmulationProfile.PEGDOWN_STRICT : ParserEmulationProfile.PEGDOWN);
/** * markdown to html * @param content markdown contents * @return parse html contents */ public static String parse(String content) { MutableDataSet options = new MutableDataSet(); options.setFrom(ParserEmulationProfile.MARKDOWN); // enable table parse! options.set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create())); Parser parser = Parser.builder(options).build(); HtmlRenderer renderer = HtmlRenderer.builder(options).build(); Node document = parser.parse(content); return renderer.render(document); }
/** * markdown to html * * @param content markdown contents * @return parse html contents */ public static String parse(String content) { MutableDataSet options = new MutableDataSet(); options.setFrom(ParserEmulationProfile.MARKDOWN); // enable table parse! options.set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create())); Parser parser = Parser.builder(options).build(); HtmlRenderer renderer = HtmlRenderer.builder(options).build(); Node document = parser.parse(content); return renderer.render(document); }
@Override public String render(String markdown) { List<Extension> extensions = new ArrayList<>(); extensions.add(AnchorLinkExtension.create()); extensions.add(TablesExtension.create()); extensions.add(TaskListExtension.create()); extensions.add(DefinitionExtension.create()); extensions.add(TocExtension.create()); extensions.add(AutolinkExtension.create()); extensions.addAll(contributedExtensions); MutableDataHolder options = new MutableDataSet() .set(HtmlRenderer.GENERATE_HEADER_ID, true) .set(AnchorLinkExtension.ANCHORLINKS_SET_NAME, true) .set(AnchorLinkExtension.ANCHORLINKS_WRAP_TEXT, false) .set(AnchorLinkExtension.ANCHORLINKS_TEXT_PREFIX, "<span class='header-anchor'></span>") .set(Parser.SPACE_IN_LINK_URLS, true) .setFrom(ParserEmulationProfile.GITHUB_DOC) .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, extensions); Parser parser = Parser.builder(options).build(); HtmlRenderer htmlRenderer = HtmlRenderer.builder(options).build(); Node document = parser.parse(markdown); return htmlRenderer.render(document); }
/** * @param inputText * 传入的md字符串 * @return 返回经转化后的html */ public String mdToHtml(String inputText) { MutableDataSet options = new MutableDataSet(); // 使用github的markdown扩展语法 options.setFrom(ParserEmulationProfile.GITHUB_DOC); Parser parser = Parser.builder(options).build(); HtmlRenderer renderer = HtmlRenderer.builder(options).build(); Node document = parser.parse(inputText); return renderer.render(document); }
/** * Configure common Flexmark options to be used by both the {@link Parser} and {@link HtmlRenderer} instances. * * @return flexmark options */ public static MutableDataSet options(){ if(options == null){ options = new MutableDataSet(); options.set(Parser.EXTENSIONS, Arrays.asList( AutolinkExtension.create(), StrikethroughExtension.create(), TaskListExtension.create(), TablesExtension.create(), JiveFlexmarkExtension.create())); options.setFrom(ParserEmulationProfile.GITHUB_DOC); options.set(FENCED_CODE_CONTENT_BLOCK, true) .set(Parser.CODE_SOFT_LINE_BREAKS, true); //.set(HtmlRenderer.SOFT_BREAK, "<br />\n"); this doesnt do what you want, stop setting it. } return options; }
@PostConstruct public void init() { try { mdTemplate = freeMarker.getTemplate(DocPageBuilder.class, FILE_DOC_MD); docTemplate = freeMarker.getTemplate(DocPageBuilder.class, FILE_DOC_HTML); MutableDataSet options = new MutableDataSet(); options.setFrom(ParserEmulationProfile.GITHUB_DOC); options.set(Parser.EXTENSIONS, Arrays.asList( TablesExtension.create(), // 表格渲染插件。 SpecExampleExtension.create() // 代码渲染插件。 )); // References compatibility options.set(Parser.REFERENCES_KEEP, KeepType.LAST); // Set GFM table parsing options options.set(TablesExtension.COLUMN_SPANS, false) // .set(TablesExtension.MIN_HEADER_ROWS, 1) // .set(TablesExtension.MAX_HEADER_ROWS, 1) // .set(TablesExtension.APPEND_MISSING_COLUMNS, true) // .set(TablesExtension.DISCARD_EXTRA_COLUMNS, true) // .set(TablesExtension.WITH_CAPTION, false) // .set(TablesExtension.HEADER_SEPARATOR_COLUMN_MATCH, true); // Setup List Options for GitHub profile which is kramdown for documents options.setFrom(ParserEmulationProfile.GITHUB_DOC); // You can re-use parser and renderer instances parser = Parser.builder(options).build(); renderer = HtmlRenderer.builder(options).build(); } catch (Exception e) { throw new RuntimeException(e); } }
options.setFrom(strictHtml ? ParserEmulationProfile.PEGDOWN_STRICT : ParserEmulationProfile.PEGDOWN);