Package org.pegdown

Class PegDownProcessor

java.lang.Object
org.pegdown.PegDownProcessor

public class PegDownProcessor extends 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:
  • Field Details

    • DEFAULT_MAX_PARSING_TIME

      public static final long DEFAULT_MAX_PARSING_TIME
      See Also:
    • parser

      public final Parser parser
  • Constructor Details

    • 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 Details

    • markdownToHtml

      public String markdownToHtml(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 String markdownToHtml(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 String markdownToHtml(String markdownSource, LinkRenderer linkRenderer, Map<String,VerbatimSerializer> verbatimSerializerMap)
    • markdownToHtml

      public 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 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 String markdownToHtml(char[] markdownSource, LinkRenderer linkRenderer, Map<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