# Introduction

This extension provides access to the reference implementation of CommonMark, a rationalized version of Markdown syntax with a specification.

##### Parsing:

The CommonMark extension provides a simple parsing API:

CommonMark\Parse ( string `$content` [, int `$options` ] ) : CommonMark\Node

##### Rendering:

The CommonMark extension provides simple rendering API that supports multiple formats:

CommonMark\Render ( CommonMark\Node `$node` [, int `$options` [, int `$width` ]] ) : string
CommonMark\Render\HTML ( CommonMark\Node `$node` [, int `$options` ] ) : string
CommonMark\Render\XML ( CommonMark\Node `$node` [, int `$options` ] ) : string
CommonMark\Render\Man ( CommonMark\Node `$node` [, int `$options` [, int `$width` ]] ) : string
CommonMark\Render\Latex ( CommonMark\Node `$node` [, int `$options` [, int `$width` ]] ) : string

##### AST:

The CommonMark extension implements visitation for CommonMark\Node objects:

public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor `$visitor` ) : void

##### CQL:

The CommonMark extension provides an interface to CQL, CommonMark Query Language:

public CommonMark\CQL::__construct ( string `$query` )