Class MarkdownParser

    • Field Detail

      • METADATA_SECTION_PATTERN

        private static final java.util.regex.Pattern METADATA_SECTION_PATTERN
        Regex that identifies a multimarkdown-style metadata section at the start of the document In order to ensure that we have minimal risk of false positives when slurping metadata sections, the first key in the metadata section must be one of these standard keys or else the entire metadata section is ignored.
      • METADATA_ENTRY_PATTERN

        private static final java.util.regex.Pattern METADATA_ENTRY_PATTERN
        Regex that captures the key and value of a multimarkdown-style metadata entry.
      • parser

        @Requirement
        private MarkdownParser.MarkdownHtmlParser parser
        The parser of the HTML produced by Flexmark, that we will use to convert this HTML to Sink events
      • FLEXMARK_PARSER

        private static final com.vladsch.flexmark.parser.Parser FLEXMARK_PARSER
        Flexmark's Markdown parser (one static instance fits all)
      • FLEXMARK_HTML_RENDERER

        private static final com.vladsch.flexmark.html.HtmlRenderer FLEXMARK_HTML_RENDERER
        Flexmark's HTML renderer (its output will be re-parsed and converted to Sink events)
    • Constructor Detail

      • MarkdownParser

        public MarkdownParser()
    • Method Detail

      • parse

        public void parse​(java.io.Reader source,
                          Sink sink,
                          java.lang.String reference)
                   throws ParseException
        Parses the given source model and emits Doxia events into the given sink.
        Specified by:
        parse in interface Parser
        Parameters:
        source - not null reader that provides the source document. You could use newReader methods from ReaderFactory.
        sink - A sink that consumes the Doxia events.
        reference - the reference
        Throws:
        ParseException - if the model could not be parsed.
      • toHtml

        java.lang.CharSequence toHtml​(java.io.Reader source)
                               throws java.io.IOException
        uses flexmark-java library to parse content and generate HTML output.
        Parameters:
        source - the Markdown source
        Returns:
        HTML content generated by flexmark-java
        Throws:
        java.io.IOException - passed through