Package org.pegdown

Class PegDownProcessor


  • public class PegDownProcessor
    extends java.lang.Object
    A clean and lightweight Markdown-to-HTML filter based on a PEG parser implemented with parboiled. Note: A PegDownProcessor is not thread-safe (since it internally reused the parboiled parser instance). If you need to process markdown source in parallel create one PegDownProcessor per thread!
    See Also:
    Markdown, parboiled.org
    • Constructor Summary

      Constructors 
      Constructor Description
      PegDownProcessor()
      Creates a new processor instance without any enabled extensions and the default parsing timeout.
      PegDownProcessor​(int options)
      Creates a new processor instance with the given Extensions and the default parsing timeout.
      PegDownProcessor​(int options, long maxParsingTimeInMillis)
      Creates a new processor instance with the given Extensions and parsing timeout.
      PegDownProcessor​(int options, long maxParsingTimeInMillis, PegDownPlugins plugins)
      Creates a new processor instance with the given Extensions, parsing timeout and plugins.
      PegDownProcessor​(int options, PegDownPlugins plugins)
      Creates a new processor instance with the given Extensions and plugins.
      PegDownProcessor​(long maxParsingTimeInMillis)
      Creates a new processor instance without any enabled extensions and the given parsing timeout.
      PegDownProcessor​(Parser parser)
      Creates a new processor instance using the given Parser.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String markdownToHtml​(char[] markdownSource)
      Converts the given markdown source to HTML.
      java.lang.String markdownToHtml​(char[] markdownSource, LinkRenderer linkRenderer)
      Converts the given markdown source to HTML.
      java.lang.String markdownToHtml​(char[] markdownSource, LinkRenderer linkRenderer, java.util.Map<java.lang.String,​VerbatimSerializer> verbatimSerializerMap)  
      java.lang.String markdownToHtml​(java.lang.String markdownSource)
      Converts the given markdown source to HTML.
      java.lang.String markdownToHtml​(java.lang.String markdownSource, LinkRenderer linkRenderer)
      Converts the given markdown source to HTML.
      java.lang.String markdownToHtml​(java.lang.String markdownSource, LinkRenderer linkRenderer, java.util.Map<java.lang.String,​VerbatimSerializer> verbatimSerializerMap)  
      RootNode parseMarkdown​(char[] markdownSource)
      Parses the given markdown source and returns the root node of the generated Abstract Syntax Tree.
      char[] prepareSource​(char[] source)
      Adds two trailing newlines.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFAULT_MAX_PARSING_TIME

        public static final long DEFAULT_MAX_PARSING_TIME
        See Also:
        Constant Field Values
      • parser

        public final Parser parser
    • Constructor Detail

      • PegDownProcessor

        public PegDownProcessor()
        Creates a new processor instance without any enabled extensions and the default parsing timeout.
      • PegDownProcessor

        public PegDownProcessor​(long maxParsingTimeInMillis)
        Creates a new processor instance without any enabled extensions and the given parsing timeout.
      • PegDownProcessor

        public PegDownProcessor​(int options)
        Creates a new processor instance with the given Extensions and the default parsing timeout.
        Parameters:
        options - the flags of the extensions to enable as a bitmask
      • PegDownProcessor

        public PegDownProcessor​(int options,
                                long maxParsingTimeInMillis)
        Creates a new processor instance with the given Extensions and parsing timeout.
        Parameters:
        options - the flags of the extensions to enable as a bitmask
        maxParsingTimeInMillis - the parsing timeout
      • PegDownProcessor

        public PegDownProcessor​(int options,
                                PegDownPlugins plugins)
        Creates a new processor instance with the given Extensions and plugins.
        Parameters:
        options - the flags of the extensions to enable as a bitmask
        plugins - the plugins to use
      • PegDownProcessor

        public PegDownProcessor​(int options,
                                long maxParsingTimeInMillis,
                                PegDownPlugins plugins)
        Creates a new processor instance with the given Extensions, parsing timeout and plugins.
        Parameters:
        options - the flags of the extensions to enable as a bitmask
        maxParsingTimeInMillis - the parsing timeout
        plugins - the plugins to use
      • PegDownProcessor

        public PegDownProcessor​(Parser parser)
        Creates a new processor instance using the given Parser.
        Parameters:
        parser - the parser instance to use
    • Method Detail

      • markdownToHtml

        public java.lang.String markdownToHtml​(java.lang.String markdownSource)
        Converts the given markdown source to HTML. If the input cannot be parsed within the configured parsing timeout the method returns null.
        Parameters:
        markdownSource - the markdown source to convert
        Returns:
        the HTML
      • markdownToHtml

        public java.lang.String markdownToHtml​(java.lang.String markdownSource,
                                               LinkRenderer linkRenderer)
        Converts the given markdown source to HTML. If the input cannot be parsed within the configured parsing timeout the method returns null.
        Parameters:
        markdownSource - the markdown source to convert
        linkRenderer - the LinkRenderer to use
        Returns:
        the HTML
      • markdownToHtml

        public java.lang.String markdownToHtml​(java.lang.String markdownSource,
                                               LinkRenderer linkRenderer,
                                               java.util.Map<java.lang.String,​VerbatimSerializer> verbatimSerializerMap)
      • markdownToHtml

        public java.lang.String markdownToHtml​(char[] markdownSource)
        Converts the given markdown source to HTML. If the input cannot be parsed within the configured parsing timeout the method returns null.
        Parameters:
        markdownSource - the markdown source to convert
        Returns:
        the HTML
      • markdownToHtml

        public java.lang.String markdownToHtml​(char[] markdownSource,
                                               LinkRenderer linkRenderer)
        Converts the given markdown source to HTML. If the input cannot be parsed within the configured parsing timeout the method returns null.
        Parameters:
        markdownSource - the markdown source to convert
        linkRenderer - the LinkRenderer to use
        Returns:
        the HTML
      • markdownToHtml

        public java.lang.String markdownToHtml​(char[] markdownSource,
                                               LinkRenderer linkRenderer,
                                               java.util.Map<java.lang.String,​VerbatimSerializer> verbatimSerializerMap)
      • parseMarkdown

        public RootNode parseMarkdown​(char[] markdownSource)
        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.
        Parameters:
        markdownSource - the markdown source to convert
        Returns:
        the AST root
      • prepareSource

        public char[] prepareSource​(char[] source)
        Adds two trailing newlines.
        Parameters:
        source - the markdown source to process
        Returns:
        the processed source