org.pegdown
Class PegDownProcessor

java.lang.Object
  extended by org.pegdown.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

Field Summary
static long DEFAULT_MAX_PARSING_TIME
           
 Parser parser
           
 
Constructor Summary
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
 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