org.commonmark.parser.Parser类的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(344)

本文整理了Java中org.commonmark.parser.Parser类的一些代码示例,展示了Parser类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Parser类的具体详情如下:
包路径:org.commonmark.parser.Parser
类名称:Parser

Parser介绍

[英]Parses input text to a tree of nodes.

Start with the #builder method, configure the parser and build it. Example:

  1. Parser parser = Parser.builder().build();
  2. Node document = parser.parse("input text");

[中]将输入文本解析为节点树。
从#builder方法开始,配置解析器并构建它。例子:

  1. Parser parser = Parser.builder().build();
  2. Node document = parser.parse("input text");

代码示例

代码示例来源:origin: ZHENFENG13/My-Blog

  1. /**
  2. * markdown转换为html
  3. *
  4. * @param markdown
  5. * @return
  6. */
  7. public static String mdToHtml(String markdown) {
  8. if (StringUtils.isBlank(markdown)) {
  9. return "";
  10. }
  11. java.util.List<Extension> extensions = Arrays.asList(TablesExtension.create());
  12. Parser parser = Parser.builder().extensions(extensions).build();
  13. Node document = parser.parse(markdown);
  14. HtmlRenderer renderer = HtmlRenderer.builder().extensions(extensions).build();
  15. String content = renderer.render(document);
  16. content = Commons.emoji(content);
  17. return content;
  18. }

代码示例来源:origin: JpressProjects/jpress

  1. /**
  2. * 渲染html
  3. *
  4. * @param markdown markdown格式文本
  5. * @return html文本
  6. */
  7. public static String toHtml(String markdown) {
  8. if (StrUtils.isBlank(markdown)) return markdown;
  9. Node document = PARSER.parse(markdown);
  10. return RENDERER.render(document);
  11. }

代码示例来源:origin: synchrony/smsn

  1. private Document parseToMarkdownDocument(final InputStream input) throws IOException {
  2. Parser parser = Parser.builder().build();
  3. Node document = parser.parseReader(new InputStreamReader(input));
  4. return (Document) document;
  5. }

代码示例来源:origin: aint/laverna-android

  1. /**
  2. * A method which returns Parser which parses input text to a tree of nodes.
  3. * @return a Parser object.
  4. */
  5. private Parser getParser() {
  6. return Parser.builder()
  7. .extensions(getExtensions())
  8. .build();
  9. }

代码示例来源:origin: g00glen00b/spring-samples

  1. @Override
  2. public HtmlResource process(Resource markdownResource) throws IOException {
  3. try (InputStreamReader reader = new InputStreamReader(markdownResource.getInputStream())) {
  4. Node document = parser.parseReader(reader);
  5. return new HtmlResource(markdownResource, htmlRenderer.render(document));
  6. }
  7. }
  8. }

代码示例来源:origin: JpressProjects/jpress

  1. /**
  2. * 获取元数据
  3. *
  4. * @param content content
  5. * @return Map
  6. */
  7. public static Map<String, List<String>> getFrontMatter(String content) {
  8. YamlFrontMatterVisitor visitor = new YamlFrontMatterVisitor();
  9. Node document = PARSER.parse(content);
  10. document.accept(visitor);
  11. return visitor.getData();
  12. }

代码示例来源:origin: com.xmlcalabash/xmlcalabash

  1. public void load(URI id, String media, InputStream content, long len) throws IOException {
  2. Reader rdr = new InputStreamReader(content);
  3. Parser parser = Parser.builder().build();
  4. Node document = parser.parseReader(rdr);
  5. HtmlRenderer renderer = HtmlRenderer.builder().build();
  6. // We rely on the fact that the CommonMark parser returns well-formed markup consisting
  7. // of the paragraphs and other bits that would occur inside a <body> element and
  8. // that it returns them with no namespace declarations.
  9. String markup = "<body xmlns='http://www.w3.org/1999/xhtml'>" + renderer.render(document) + "</body>";
  10. XdmNode parsed = runtime.parse(new InputSource(new StringReader(markup)));
  11. // Let's craft a baseURI for the document...
  12. String path = id.getPath();
  13. int lastSlash = path.lastIndexOf("/");
  14. String base = path.substring(0, lastSlash+1);
  15. String filename = path.substring(lastSlash+1);
  16. int lastDot = filename.lastIndexOf(".");
  17. if (lastDot > 0) {
  18. base = base + filename.substring(0, lastDot) + ".html";
  19. } else {
  20. base = base + filename + ".html";
  21. }
  22. URI baseURI = id.resolve(base);
  23. TreeWriter tree = new TreeWriter(runtime);
  24. tree.startDocument(baseURI);
  25. tree.addSubtree(parsed);
  26. tree.endDocument();
  27. result.write(tree.getResult());
  28. }
  29. });

代码示例来源:origin: g00glen00b/spring-samples

  1. @PostConstruct
  2. public void initialize() {
  3. List<Extension> extensions = Collections.singletonList(TablesExtension.create());
  4. parser = Parser.builder().extensions(extensions).build();
  5. htmlRenderer = HtmlRenderer.builder().extensions(extensions).build();
  6. }

代码示例来源:origin: iNPUTmice/caas

  1. private static HashMap<String, String> load(Path serverFolder) throws IOException {
  2. HashMap<String, String> helpForThisSoftware = new HashMap<>();
  3. Files.walk(serverFolder, 1).filter(Files::isRegularFile).forEach(filePath -> {
  4. Node document;
  5. try {
  6. document = PARSER.parseReader(Files.newBufferedReader(filePath));
  7. String htmlText = RENDERER.render(document);
  8. String testFileName = filePath.getFileName().toString();
  9. int length = testFileName.length();
  10. if (!testFileName.substring(length - 3).equals(".md")) {
  11. throw new IllegalStateException("All help files should have md extension");
  12. }
  13. String testName = testFileName.substring(0, (testFileName.length() - 3));
  14. helpForThisSoftware.put(testName, htmlText);
  15. } catch (IOException e) {
  16. e.printStackTrace();
  17. }
  18. });
  19. LOGGER.info(
  20. "Read help file for " + serverFolder.getFileName().toString() +
  21. " which contained help for " + helpForThisSoftware.size() + " tests"
  22. );
  23. return helpForThisSoftware;
  24. }

代码示例来源:origin: jamesagnew/hapi-fhir

  1. public Cell addMarkdown(String md) {
  2. try {
  3. Parser parser = Parser.builder().build();
  4. Node document = parser.parse(md);
  5. HtmlRenderer renderer = HtmlRenderer.builder().escapeHtml(true).build();
  6. String html = renderer.render(document);
  7. pieces.addAll(htmlToParagraphPieces(html));
  8. } catch (Exception e) {
  9. e.printStackTrace();
  10. }
  11. return this;
  12. }
  13. private List<Piece> htmlToParagraphPieces(String html) throws IOException, FHIRException {

代码示例来源:origin: aint/laverna-android

  1. /**
  2. * A method which parses a text with markdown using a commonmark's parser.
  3. * @param text a text to parse.
  4. * @return a text after parsing.
  5. */
  6. private String parseMarkdown(String text) {
  7. Node node = parser.parse(text);
  8. return renderer.render(node);
  9. }

代码示例来源:origin: nice-swa/my-site

  1. /**
  2. * markdown转换为html
  3. *
  4. * @param markdown
  5. * @return
  6. */
  7. public static String mdToHtml(String markdown) {
  8. if (StringUtils.isBlank(markdown)) {
  9. return "";
  10. }
  11. java.util.List<Extension> extensions = Arrays.asList(TablesExtension.create());
  12. Parser parser = Parser.builder().extensions(extensions).build();
  13. Node document = parser.parse(markdown);
  14. HtmlRenderer renderer = HtmlRenderer.builder().extensions(extensions).build();
  15. String content = renderer.render(document);
  16. content = Commons.emoji(content);
  17. return content;
  18. }

代码示例来源:origin: pingao777/markdown-preview-sync

  1. public static String markdown2Html(String markdown) {
  2. Node document = PARSER.parse(markdown);
  3. String html = RENDERER.render(document);
  4. int index = html.indexOf(MARKER);
  5. if (index >= 0) {
  6. return html.substring(0, index) + MARKER_HTML + html.substring(index + MARKER.length());
  7. } else {
  8. return html;
  9. }
  10. }

代码示例来源:origin: tomoya92/pybbs

  1. public static String render(String content) {
  2. List<Extension> extensions = Arrays.asList(
  3. AutolinkExtension.create(),
  4. TablesExtension.create());
  5. Parser parser = Parser.builder()
  6. .extensions(extensions)
  7. .build();
  8. // 回车一次就可以实现换行
  9. HtmlRenderer renderer = HtmlRenderer.builder()
  10. .softbreak("<br/>")
  11. .attributeProviderFactory(context -> new MyAttributeProvider())
  12. .extensions(extensions)
  13. .build();
  14. Node document = parser.parse(content == null ? "" : content);
  15. return renderer.render(document);
  16. }

代码示例来源:origin: sdeleuze/spring-kotlin-deepdive

  1. @Override
  2. public String apply(String input) {
  3. if (input == null || input.isEmpty()) {
  4. return "";
  5. }
  6. return renderer.render(parser.parse(input));
  7. }
  8. }

代码示例来源:origin: 94fzb/zrlog

  1. public static String renderMd(String md) {
  2. Parser parser = Parser.builder().build();
  3. Node document = parser.parse(md);
  4. HtmlRenderer renderer = HtmlRenderer.builder().build();
  5. return renderer.render(document);
  6. }

代码示例来源:origin: org.symphonyoss.symphony/messageml

  1. /**
  2. * Parse the Markdown message and entity JSON into a MessageML document.
  3. */
  4. public MessageML parse(String message, JsonNode entities, JsonNode media) throws InvalidInputException {
  5. this.index = 0;
  6. message = message.replace((char) 160, (char) 32);
  7. String enriched = enrichMarkdown(message, entities, media);
  8. Node markdown = MARKDOWN_PARSER.parse(enriched);
  9. markdown.accept(this);
  10. return messageML;
  11. }

代码示例来源:origin: gsvigruha/cosyan

  1. private static void markdownToHtml(String resourcesDir) throws IOException {
  2. File docRoot = new File(resourcesDir + File.separator + "doc");
  3. Collection<File> files = FileUtils.listFiles(docRoot, TrueFileFilter.INSTANCE, TrueFileFilter.INSTANCE).stream()
  4. .sorted((f1, f2) -> f1.getName().compareTo(f2.getName())).collect(Collectors.toList());
  5. JSONArray items = new JSONArray();
  6. String webRoot = "web" + File.separator + "app" + File.separator + "help";
  7. for (File markdown : files) {
  8. Parser parser = Parser.builder().build();
  9. Node document = parser.parse(FileUtils.readFileToString(markdown, Charset.defaultCharset()));
  10. HtmlRenderer renderer = HtmlRenderer.builder().build();
  11. String suffix = markdown.getAbsolutePath().substring(docRoot.getAbsolutePath().length() + 1, markdown.getAbsolutePath().length() - 3);
  12. File html = new File(webRoot + File.separator + suffix + ".html");
  13. FileUtils.writeStringToFile(html, renderer.render(document), Charset.defaultCharset());
  14. JSONObject object = new JSONObject();
  15. object.put("url", suffix);
  16. object.put("title", ((Text) document.getFirstChild().getFirstChild()).getLiteral());
  17. items.put(object);
  18. }
  19. FileUtils.writeStringToFile(new File(webRoot + File.separator + "list"), items.toString(), Charset.defaultCharset());
  20. }

代码示例来源:origin: noties/Markwon

  1. /**
  2. * Returns parsed markdown with provided {@link SpannableConfiguration}
  3. *
  4. * @param configuration a {@link SpannableConfiguration}
  5. * @param markdown raw markdown
  6. * @return parsed markdown
  7. * @see SpannableConfiguration
  8. * @since 1.0.0
  9. */
  10. @NonNull
  11. public static CharSequence markdown(@NonNull SpannableConfiguration configuration, @NonNull String markdown) {
  12. final Parser parser = createParser();
  13. final Node node = parser.parse(markdown);
  14. final SpannableRenderer renderer = new SpannableRenderer();
  15. return renderer.render(configuration, node);
  16. }

代码示例来源:origin: org.opensingular/singular-form-wicket

  1. private static String renderMarkdown(String message) {
  2. Parser parser = Parser.builder().build();
  3. Node node = parser.parse(message);
  4. return HtmlRenderer.builder().build().render(node);
  5. }
  6. }

相关文章